Research portable Memory game | Исследовать портируемую игру Память
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Михаил Капелько 4e09f4e980 d 8 months ago
..
lru_cache d 8 months ago
threads d 8 months ago
Makefile d 8 months ago
README d 8 months ago
all_funcs d 8 months ago
bloom_perf.c d 8 months ago
bloom_perf.sh d 8 months ago
do_tests d 8 months ago
do_tests.cygwin d 8 months ago
do_tests.mingw d 8 months ago
do_tests_win32.cmd d 8 months ago
emit_keys.c d 8 months ago
example.c d 8 months ago
hashscan.c d 8 months ago
keystats d 8 months ago
simkeys.pl d 8 months ago
sleep_test.c d 8 months ago
tdiff.cpp d 8 months ago
test1.ans d 8 months ago
test1.c d 8 months ago
test2.ans d 8 months ago
test2.c d 8 months ago
test3.ans d 8 months ago
test3.c d 8 months ago
test4.ans d 8 months ago
test4.c d 8 months ago
test5.ans d 8 months ago
test5.c d 8 months ago
test6.ans d 8 months ago
test6.c d 8 months ago
test7.ans d 8 months ago
test7.c d 8 months ago
test8.ans d 8 months ago
test8.c d 8 months ago
test9.ans d 8 months ago
test9.c d 8 months ago
test10.ans d 8 months ago
test10.c d 8 months ago
test11.ans d 8 months ago
test11.c d 8 months ago
test11.dat d 8 months ago
test12.ans d 8 months ago
test12.c d 8 months ago
test13.ans d 8 months ago
test13.c d 8 months ago
test14.ans d 8 months ago
test14.c d 8 months ago
test14.dat d 8 months ago
test15.ans d 8 months ago
test15.c d 8 months ago
test16.ans d 8 months ago
test16.c d 8 months ago
test17.ans d 8 months ago
test17.c d 8 months ago
test18.ans d 8 months ago
test18.c d 8 months ago
test19.ans d 8 months ago
test19.c d 8 months ago
test20.ans d 8 months ago
test20.c d 8 months ago
test21.ans d 8 months ago
test21.c d 8 months ago
test22.ans d 8 months ago
test22.c d 8 months ago
test23.ans d 8 months ago
test23.c d 8 months ago
test24.ans d 8 months ago
test24.c d 8 months ago
test25.ans d 8 months ago
test25.c d 8 months ago
test26.ans d 8 months ago
test26.c d 8 months ago
test27.ans d 8 months ago
test27.c d 8 months ago
test28.ans d 8 months ago
test28.c d 8 months ago
test29.ans d 8 months ago
test29.c d 8 months ago
test30.ans d 8 months ago
test30.c d 8 months ago
test31.ans d 8 months ago
test31.c d 8 months ago
test32.ans d 8 months ago
test32.c d 8 months ago
test33.ans d 8 months ago
test33.c d 8 months ago
test34.ans d 8 months ago
test34.c d 8 months ago
test35.ans d 8 months ago
test35.c d 8 months ago
test36.ans d 8 months ago
test36.c d 8 months ago
test37.ans d 8 months ago
test37.c d 8 months ago
test38.ans d 8 months ago
test38.c d 8 months ago
test39.ans d 8 months ago
test39.c d 8 months ago
test40.ans d 8 months ago
test40.c d 8 months ago
test41.ans d 8 months ago
test41.c d 8 months ago
test42.ans d 8 months ago
test42.c d 8 months ago
test43.ans d 8 months ago
test43.c d 8 months ago
test44.ans d 8 months ago
test44.c d 8 months ago
test45.ans d 8 months ago
test45.c d 8 months ago
test46.ans d 8 months ago
test46.c d 8 months ago
test47.ans d 8 months ago
test47.c d 8 months ago
test48.ans d 8 months ago
test48.c d 8 months ago
test49.ans d 8 months ago
test49.c d 8 months ago
test50.ans d 8 months ago
test50.c d 8 months ago
test51.ans d 8 months ago
test51.c d 8 months ago
test52.ans d 8 months ago
test52.c d 8 months ago
test53.ans d 8 months ago
test53.c d 8 months ago
test54.ans d 8 months ago
test54.c d 8 months ago
test55.ans d 8 months ago
test55.c d 8 months ago
test56.ans d 8 months ago
test56.c d 8 months ago
test57.ans d 8 months ago
test57.c d 8 months ago
test58.ans d 8 months ago
test58.c d 8 months ago
test59.ans d 8 months ago
test59.c d 8 months ago
test60.ans d 8 months ago
test60.c d 8 months ago
test61.ans d 8 months ago
test61.c d 8 months ago
test62.ans d 8 months ago
test62.c d 8 months ago
test63.ans d 8 months ago
test63.c d 8 months ago
test64.ans d 8 months ago
test64.c d 8 months ago
test65.ans d 8 months ago
test65.c d 8 months ago
test65.dat d 8 months ago
test66.ans d 8 months ago
test66.c d 8 months ago
test67.ans d 8 months ago
test67.c d 8 months ago
test68.ans d 8 months ago
test68.c d 8 months ago
test69.ans d 8 months ago
test69.c d 8 months ago
test70.ans d 8 months ago
test70.c d 8 months ago
test71.ans d 8 months ago
test71.c d 8 months ago
test72.ans d 8 months ago
test72.c d 8 months ago
test73.ans d 8 months ago
test73.c d 8 months ago
test74.ans d 8 months ago
test74.c d 8 months ago
test75.ans d 8 months ago
test75.c d 8 months ago
test76.ans d 8 months ago
test76.c d 8 months ago
test77.ans d 8 months ago
test77.c d 8 months ago
test78.ans d 8 months ago
test78.c d 8 months ago
test79.ans d 8 months ago
test79.c d 8 months ago
test80.ans d 8 months ago
test80.c d 8 months ago
test81.ans d 8 months ago
test81.c d 8 months ago
test82.ans d 8 months ago
test82.c d 8 months ago
test83.ans d 8 months ago
test83.c d 8 months ago
test84.ans d 8 months ago
test84.c d 8 months ago
test85.ans d 8 months ago
test85.c d 8 months ago
test86.ans d 8 months ago
test86.c d 8 months ago
test87.ans d 8 months ago
test87.c d 8 months ago
test88.ans d 8 months ago
test88.c d 8 months ago
test89.ans d 8 months ago
test89.c d 8 months ago
test90.ans d 8 months ago
test90.c d 8 months ago
test91.ans d 8 months ago
test91.c d 8 months ago
test92.ans d 8 months ago
test92.c d 8 months ago
test93.ans d 8 months ago
test93.c d 8 months ago
test94.ans d 8 months ago
test94.c d 8 months ago
test95.ans d 8 months ago
test95.c d 8 months ago
test96.ans d 8 months ago
test96.c d 8 months ago

README

Automated tests for uthash
==============================================================================
Run "make" in this directory to build the tests and run them.

test1: make 10-item hash, iterate and print each one
test2: make 10-item hash, lookup items with even keys, print
test3: make 10-item hash, delete items with even keys, print others
test4: 10 structs have dual hash handles, separate keys
test5: 10 structs have dual hash handles, lookup evens by alt key
test6: test alt malloc macros (and alt key-comparison macro)
test7: test alt malloc macros with 1000 structs so bucket expansion occurs
test8: test num_items counter in UT_hash_handle
test9: test "find" after bucket expansion
test10: dual-hash handle test, bucket expansion on one and not the other
test11: read dat file of names into hash, sort them and print
test12: create hash with string keys, add 10 items, lookup each item
test13: make 10-item hash, delete items with even keys, reverse print others
test14: read dat file of names into hash, read file again and lookup each one
test15: build string-keyed hash of 3 items, lookup one item (c.f. test40.c)
test16: hash on aggregate key, iterate, lookup, using generalized macros
test17: sort, add more items, sort again
test18: test pathological HASH_DEL(a,a) scenario (single head,deletee variable)
test19: sort two hash tables with shared elements using HASH_SRT
test20: test a 5-byte "binary" key
test21: test a structure key (userguide)
test22: test multi-field key using flexible array member (userguide utf32)
test23: test whether delete in iteration works
test24: make 10-item hash and confirm item count (HASH_COUNT)
test25: CDL / DL / LL tests
test26: test the linked list sort macros in utlist.h
test27: LL_APPEND, SORT
test28: CDL / DL / LL tests
test29: DL_APPEND, SORT
test30: CDL_PREPEND, SORT
test31: CDL_PREPEND, SORT
test32: DL_PREPEND
test33: LL_PREPEND
test34: CDL_PREPEND
test35: CDL_PREPEND
test36: HASH_SELECT
test37: HASH_CLEAR
test38: find-or-add test on integer keys in short loop
test39: HASH_ADD_KEYPTR then HASH_FIND using array element as key pointer
test40: HASH_ADD_KEYPTR on string keys; pointer equivalent to test15.c
test41: test LL_FOREACH_SAFE,DL_FOREACH_SAFE,CDL_FOREACH_SAFE
test42: test LL_SEARCH, LL_SEARCH_SCALAR, and DL and CDL counterparts
test43: test utarray with intpair objects
test44: test utarray with int objects
test45: test utarray with int objects
test46: test utarray with char* objects
test47: test utstring
test48: test utarray of int
test49: test utarray of str
test50: test utarray of long
test51: test utarray of intpair
test52: test utarray of intchar
test53: test utstring
test54: test utstring
test55: test utstring
test56: test uthash, utlist and utstring together for #define conflicts etc
test57: test uthash HASH_ADD_PTR and HASH_FIND_PTR
test58: test HASH_ITER macro
test59: sample of multi-level hash
test60: sample of multi-level hash that also does HASH_DEL and free
test61: test utarray_find
test62: test macros used in safe unaligned reads on non-Intel type platforms
test63: LL_CONCAT test
test64: DL_CONCAT test
test65: LRU cache example courtesy of jehiah.cz with modifications
test66: test example where output variable to HASH_FIND needs extra parens
test67: test utarray_prev
test68: test DL_REPLACE_ELEM (Zoltán Lajos Kis)
test69: test DL_PREPEND_ELEM (Zoltán Lajos Kis)
test70: test LL_REPLACE_ELEM (Zoltán Lajos Kis)
test71: test LL_PREPEND_ELEM (Zoltán Lajos Kis)
test72: test CDL_REPLACE_ELEM (Zoltán Lajos Kis)
test73: test CDL_PREPEND_ELEM (Zoltán Lajos Kis)
test74: test utstring with utstring_find (Joe Wei)
test75: test utstring with utstring_findR (Joe Wei)
test76: test utstring with _utstring_find (Joe Wei)
test77: test utstring with _utstring_findR (Joe Wei)
test78: test utlist "2" family with flexible Prev/Next naming eg. DL_DELETE2
test79: test HASH_REPLACE
test80: test utarray_insert past end of array
test81: test utarray_insert past end of array
test82: test utarray_inserta past end of array
test83: test HASH_REPLACE_STR with char[] key
test84: test HASH_REPLACE_STR with char* key
test85: test HASH_OVERHEAD on null and non null hash
test86: test *_APPEND_ELEM / *_PREPEND_ELEM (Thilo Schulz)
test87: test HASH_ADD_INORDER() macro (Thilo Schulz)
test88: test alt key-comparison and strlen macros
test89: test code from the tinydtls project
test90: regression-test HASH_ADD_KEYPTR_INORDER (IronBug)
test91: test LL_INSERT_INORDER etc.
test92: HASH_NONFATAL_OOM
test93: alt_fatal
test94: utlist with fields named other than 'next' and 'prev'
test95: utstack
test96: HASH_FUNCTION + HASH_KEYCMP

Other Make targets
================================================================================
pedantic: makes the tests with extra CFLAGS for pedantic compiling
cplusplus: compiles all the C tests using the C++ compiler to test compatibility
debug: makes the tests with debugging symbols and no optimization
example: builds the 'example' program from the user guide
================================================================================

Testing a specific hash function
--------------------------------
Set EXTRA_CFLAGS with this Makefile to use a specific hash function:
EXTRA_CFLAGS=-DHASH_FUNCTION=HASH_BER make

Other files
================================================================================
keystats: key statistics analyzer. See the uthash User Guide.
emit_keys: reads a data file of unique strings, emits as keys w/HASH_EMIT_KEYS=1
all_funcs: a script which executes the test suite with every hash function
win32tests:builds and runs the test suite under Microsoft Visual Studio

LINUX/FREEBSD
-------------
hashscan: tool to examine a running process and get info on its hash tables
test_sleep:used as a subject for inspection by hashscan

Manual performance testing
================================================================================
# test performance characteristics on keys that are English dictionary words
emit_keys /usr/share/dict/words > words.keys
./keystats words.keys