annotate src/proto/hashtab.pro @ 17508:34966be2e856 v8.1.1752

patch 8.1.1752: resizing hashtable is inefficient commit https://github.com/vim/vim/commit/7b73d7ebf71c9148c90a500116f25ec2314c7273 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jul 26 21:26:34 2019 +0200 patch 8.1.1752: resizing hashtable is inefficient Problem: Resizing hashtable is inefficient. Solution: Avoid resizing when the final size is predictable.
author Bram Moolenaar <Bram@vim.org>
date Fri, 26 Jul 2019 21:30:06 +0200
parents 21b0a39d13ed
children 684e6dfa2fba
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
799
6beb2c667935 updated for version 7.0b
vimboss
parents:
diff changeset
1 /* hashtab.c */
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
2 void hash_init(hashtab_T *ht);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
3 void hash_clear(hashtab_T *ht);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
4 void hash_clear_all(hashtab_T *ht, int off);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
5 hashitem_T *hash_find(hashtab_T *ht, char_u *key);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
6 hashitem_T *hash_lookup(hashtab_T *ht, char_u *key, hash_T hash);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
7 void hash_debug_results(void);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
8 int hash_add(hashtab_T *ht, char_u *key);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
9 int hash_add_item(hashtab_T *ht, hashitem_T *hi, char_u *key, hash_T hash);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
10 void hash_remove(hashtab_T *ht, hashitem_T *hi);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
11 void hash_lock(hashtab_T *ht);
17508
34966be2e856 patch 8.1.1752: resizing hashtable is inefficient
Bram Moolenaar <Bram@vim.org>
parents: 7668
diff changeset
12 void hash_lock_size(hashtab_T *ht, int size);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
13 void hash_unlock(hashtab_T *ht);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
14 hash_T hash_hash(char_u *key);
799
6beb2c667935 updated for version 7.0b
vimboss
parents:
diff changeset
15 /* vim: set ft=c : */