summaryrefslogtreecommitdiffstats
path: root/Hashtable.c
AgeCommit message (Collapse)Author
2021-08-25IWYU updateChristian Göttsche
2021-05-10cleaned up includes with iwyumayurdahibhate
2021-01-12Hashtable: use appropriate return type for nextPrimeChristian Göttsche
The return value is guaranteed to be smaller than SIZE_MAX, so return size_t (matters on 32 bit architectures).
2021-01-06Hashtable: fail hard on too big size requestChristian Göttsche
2021-01-06Hashtable: widen size from int to size_tChristian Göttsche
2021-01-06Hashtable: hide implementation of Hashtable and HashtableItemChristian Göttsche
2021-01-06Hashtable: use more distinct typename for key typeChristian Göttsche
2020-12-06IWYU updateChristian Göttsche
2020-11-29Implement Hashtable_clear to empty an existing HashtableBenny Baumann
2020-11-19IWYU update (Linux)Christian Göttsche
2020-11-17Hashtable: use dynamic growth and use primes as sizeChristian Göttsche
Dynamically increase the hashmap size to not exceed the load factor and avoid too long chains. Switch from Separate Chaining to Robin Hood linear probing to improve cache locality. Use primes as size to further avoid collisions. E.g. on a standard kde system the number of entries in the ProcessTable might be around 650.
2020-11-17Hashtable updateChristian Göttsche
- use consistent type for key by introducing a new typedef - use unsigned types for sizes - name parameters in foreach function typedef
2020-11-02Embracing branchesBenny Baumann
2020-10-17Combine XAlloc.[ch] into XUtils.[ch]Benny Baumann
2020-10-09Fix Hashtable_put to allow storing the same pointerFynn Wulf
2020-10-05Update License consistently to GPLv2 as per COPYING fileDaniel Lange
2020-10-03Resolve DEBUG compilation issuesChristian Göttsche
Use NDEBUG conditional instead of DEBUG. Do not call static functions in extern inline ones. Vector.c:67:11: error: static function 'Vector_isConsistent' is used in an inline function with external linkage [-Werror,-Wstatic-in-inline]
2020-09-03Axe automated header generation.Zev Weiss
Reasoning: - implementation was unsound -- broke down when I added a fairly basic macro definition expanding to a struct initializer in a *.c file. - made it way too easy (e.g. via otherwise totally innocuous git commands) to end up with timestamps such that it always ran MakeHeader.py but never used its output, leading to overbuild noise when running what should be a null 'make'. - but mostly: it's just an awkward way of dealing with C code.
2019-10-31Clean up existing whitespaceDaniel Flanagan
2016-02-02Check for failure in allocations.Hisham
2015-09-16Clean up some needless malloc casts, convert some mallocs to callocs, and ↵Michael McConville
fix some style
2014-01-16Fix order of calloc arguments.Hisham Muhammad
(Patch by Dawid Gajownik)
2011-12-26Remove old memory debugging routines. We have Valgrind nowadays.Hisham Muhammad
2011-12-26major header cleanupHisham Muhammad
2011-05-26Tempus fugit.Hisham Muhammad
2010-02-25Tempus fugit.Hisham Muhammad
2008-03-09Clean up headers by using 'static' whenever possible.Hisham Muhammad
Reduces resulting code size.
2007-04-05Switch to unsigned keys in hash, according to issue #1688290 Hisham Muhammad
in the sf tracker
2006-11-12Add debugging sanity checks.Hisham Muhammad
2006-11-08Add missing header.Hisham Muhammad
2006-11-08Add consistency checks.Hisham Muhammad
2006-07-12Perform RichString operations by hand.Hisham Muhammad
Avoid unnecessary operations when processing entries on ProcessList.
2006-07-11Performance improvement hackathon: improve process comparison routines,Hisham Muhammad
disable useless code in release builds such as runtime type-checking on dynamic data structures and process fields that are not being computed, faster(?) method for verifying the process owner (still need to ensure correctness), don't destroy and create process objects for hidden kernel threads over and over. Phew. I shouldn't be doing all this today, but I could not resist.
2006-03-04Initial import.Hisham Muhammad