📄 changelog.txt
字号:
uthash ChangeLog================Version 1.5 (2009-02-19)--------------------------* now thread-safe for concurrent readers* use scratch variables on stack rather than in table (thanks, Petter Arvidsson!). This change made HASH_FIND about 13% faster and enabled reader concurrency.* made link:license.html[BSD license] terms even more permissive* added link:userguide.pdf[PDF version] of User Guide * added http://troydhanson.wordpress.com/feed/[update news] image:img/rss.png[(RSS)]Version 1.4 (2008-09-23)--------------------------* Add `HASH_COUNT` for counting items in the hash* Compatibility with C\+\+. Satisfy additional casting requirements. Also in the `tests/` directory, running `make cplusplus` now compiles all the test programs with the C++ compiler.* Eliminate `elmt` pointer from the UT_hash_handle. Calculate elmt from hash handle address by subtracting `hho` (hash handle offset).* Contributed by L.S.Chin: Cast `void*` to char* before pointer arithmetic to suppress compiler warnings. We assume compilers abide to C standards which impose requirement that `sizeof(void*) == sizeof(char*)`.* Return meaningful exit status from do_tests per Tiago Cunha, so that package manager-based install can verify tests are successfulVersion 1.3 (2008-07-27)------------------------* use integer-only math-- no floating point! Support FPU-less CPU's.* eliminate `hash_q` metric, which measured the fraction of items with non-ideal chain positions. We only need to know if this fraction is below 0.5. This is now determined using fast bitwise tests.* when an item is added to the hash, calculate the key's hash value upfront and store it, instead of recomputing it as needed. This hashv is stored in the hash handle. Potentially major speed benefit for bucket expansion algorithm. Deleting is marginally improved too.* fixed a minor bug in the calculation of the max ideal chain length; line 446 in v1.2 erroneously calculated a/b*2 instead of a/(b*2). The effect of this bug was that bucket expansion could occur more readily because the per-bucket 'max chain length multiplier factor' (which delays bucket expansion when certain buckets are overused) was set to a lower, expansion-favoring value than intended.* improved source commenting and improved variable names in structures* remove `HASH_JSW`. Lengthy random number array made code less readable* add `HASH_SRT(hh,hash,cmp)` as a generalized `HASH_SORT(hash,cmp)`. It was an omission in uthash 1.2 that there was no sort macro for hash handles with names other than hh.* Corrected `HASH_FSCK` so it works with any name for the hash handle.* behave properly in pathological `HASH_DEL(a,a)` case where the same variable references the head and the deletee (advancing the head then loses the correct reference to the deletee); fix by using scratch area in the hash table to store deletee hash handle.* made tests runnable on MinGW * 3000+ downloads since uthash-1.0Version 1.2 (2006-11-22)------------------------* new `HASH_SORT` macro* Cygwin support* User Guide now features a clickable Table of Contents. (The technique for generating the TOC on the browser was contributed back to the AsciiDoc project and incorporated into AsciiDoc v8.1.0).Version 1.1 (2006-06-28)------------------------* uthash-1.1 released* supports several built-in user-selectable hash functions* new keystats utility quantifies performance of hash functionsVersion 1.0 (2006-06-02)------------------------* Initial release// vim: set syntax=asciidoc:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -