30 Commits
Author SHA1 Message Date
andrew a92271a205 Build with -Wunused-variable 2024-11-12 17:50:27 -08:00
andrew 6e229b6b36 Skip sorting if already sorted for skip list 2024-11-12 17:50:27 -08:00
andrew 394f09f9fb WIP adding metrics to skiplist 2024-08-30 16:06:43 -07:00
andrew 795ae7cb01 Internal.h doesn't need to include <vector> 2024-08-24 10:38:07 -07:00
andrew 849e2d3e5c Remove unused code 2024-08-22 22:31:36 -07:00
andrew 1560037680 Remove unused struct 2024-08-22 17:55:54 -07:00
andrew 764c31bbc8 Run skip list gc at 200% entry insertion rate 2024-08-22 17:26:08 -07:00
andrew ee3361952a Use better rng in skip list
low bits of lcg have low periods
2024-08-22 17:00:15 -07:00
andrew 42b5d50492 Update DEBUG_VERBOSE for interleaving conflict sets in test 2024-07-23 15:44:29 -07:00
andrew 3288c583e4 Make metrics thread-safe
Even concurrently with calling non-const methods on the associated
ConflictSet
2024-07-12 13:22:02 -07:00
andrew 3ac16bc966 Propose a metrics interface 2024-07-12 12:00:46 -07:00
andrew 1e82f7fe22 Fix compiler warnings 2024-07-11 19:33:57 -07:00
andrew d50bb8bc80 Add missing header 2024-07-10 16:59:31 -07:00
andrew f19b403f19 Remove "writes are canonical" precondition from addWrites 2024-07-10 16:42:53 -07:00
andrew 76df63a9d7 Allow writeVersion, oldestVersion, and readVersion to span 2e9 2024-07-03 14:19:50 -07:00
andrew 3db3d975fc Interface change! Allow decreasing setOldestVersion 2024-07-03 10:31:57 -07:00
andrew a68ad5dd17 Interface change! Return TooOld after 2e9 versions
Event if setOldestVersion wasn't called
2024-06-30 15:28:51 -07:00
andrew 6e63fd5126 Add internal entry points, with test coverage
Closes #25
2024-04-19 11:23:25 -07:00
andrew 64a98c529c Fix conflict_set.py bug, and add full inner words test
Apparently all bytes were 0
2024-04-17 14:11:26 -07:00
andrew 309d315956 Add DebugConflictSet, which asserts using skip list as a reference
CC #23
2024-04-17 12:08:39 -07:00
andrew eab2e46a56 Mention that we modified SkipList.cpp 2024-04-17 12:08:33 -07:00
andrew 85db1a8786 Allow to choose implementation in python wrapper
And fix a few minor bugs to make the python tests pass for skip_list.

CC #23
2024-04-17 12:08:28 -07:00
andrew ad91fb36a5 Symbol tests for macos + whitelist imports/exports
commit 1ad8276100
Author: Andrew Noyes <andrew@weaselab.dev>
Date:   Wed Apr 3 12:44:35 2024 -0700

    Add symbols for arm build

commit 058e4d5302
Author: Andrew Noyes <andrew@weaselab.dev>
Date:   Wed Apr 3 12:42:48 2024 -0700

    Add _GLOBAL_OFFSET_TABLE_

commit a201f3ada8
Author: Andrew Noyes <andrew@weaselab.dev>
Date:   Wed Apr 3 12:34:05 2024 -0700

    Add memset to symbol imports

commit c1129ed0e2
Author: Andrew Noyes <andrew@weaselab.dev>
Date:   Wed Apr 3 12:32:28 2024 -0700

    Add symbol imports file

commit 618766ce2e
Author: Andrew Noyes <andrew@weaselab.dev>
Date:   Wed Apr 3 12:27:07 2024 -0700

    Fix objcopy filepath

commit e774a90007
Author: Andrew Noyes <andrew@weaselab.dev>
Date:   Wed Apr 3 12:24:44 2024 -0700

    Use shellcheck precommit without docker

commit baddea7f57
Author: Andrew Noyes <andrew@weaselab.dev>
Date:   Wed Apr 3 12:20:26 2024 -0700

    Update and freeze pre-commit hooks

commit 2d3e7b9004
Author: Andrew Noyes <andrew@weaselab.dev>
Date:   Wed Apr 3 12:19:55 2024 -0700

    Add shellcheck to pre-commit

    Closes #22

commit c4862fee9b
Author: Andrew Noyes <andrew@weaselab.dev>
Date:   Wed Apr 3 12:15:08 2024 -0700

    Add symbol tests for apple

    closes #21
2024-04-03 12:50:51 -07:00
andrew 19edc6f78f Interface change! Add ConflictSet::getBytes
Closes #12
2024-03-20 12:11:34 -07:00
andrew 6f81580953 Guard SHOW_MEMORY-only code 2024-03-14 15:40:09 -07:00
andrew a9b3d3d1c9 Show peak memory in skip list, and fix setOldestVersion bug
It was not previously gc'ing faster than it was writing.
2024-03-14 15:31:29 -07:00
andrew b817e3c749 Track malloc size with a header for SHOW_MEMORY 2024-03-14 15:30:46 -07:00
andrew be5f1b67c8 Interface change! addWrites now takes a single write version 2024-03-05 16:55:27 -08:00
andrew 717264b452 Remove show memory for skip list for now 2024-02-27 12:02:51 -08:00
andrew 68bd39e130 Put skip list in its own shared lib
Now we can right benchmarks against one api, and just change the library
path
2024-02-27 12:02:01 -08:00