Commit Graph
828 Commits
Author SHA1 Message Date
andrew dfa178ba19 Add to corpus (from fuzzing on macos) 2024-08-20 13:32:04 -07:00
andrew a16d18edfe Update README.md 2024-08-20 12:03:27 -07:00
andrew 2b60287448 Partition valgrind into tests of size at most 100 2024-08-20 11:35:20 -07:00
andrew 0a9ac59676 Commit to non-simd Node3 implementations 2024-08-20 10:36:04 -07:00
andrew e3a77ed773 Remove unnecessary casts 2024-08-20 10:30:27 -07:00
andrew cdf9a8a7b0 Save 8 bytes in Node3 2024-08-20 10:30:07 -07:00
andrew 305dfdd52f Change whitespace in node structs for consistency 2024-08-20 09:57:44 -07:00
andrew 7261c91492 Remove Node48::nextFree, and improve padding to save 8 bytes 2024-08-20 09:51:29 -07:00
andrew f11720f5ae Add to corpus 2024-08-19 21:52:47 -07:00
andrew e2b7298af5 Instrument setOldestVersion for callgrind too 2024-08-19 21:32:04 -07:00
andrew 8e1e344f4b Fix clang-18 warning about std::basic_string<uint8_t> 2024-08-17 16:40:32 -07:00
andrew 3634b6a59b Simplify slightly in checkMaxBetweenExclusive 2024-08-17 14:34:13 -07:00
andrew a3cc14c807 Fix double counting of remove node in showMemory mode 2024-08-17 13:43:47 -07:00
andrew 55b3275434 ifdef linux specific stuff 2024-08-16 16:23:46 -07:00
andrew 3a5b86ed9e Ignore itlb in grafana instead 2024-08-16 16:02:01 -07:00
andrew 159f2eef74 Use group leader fd
Events in the same group should be associated with the same set of
instructions
2024-08-16 15:35:35 -07:00
andrew 2952abe811 Reorg headers and only print unexpected errno's 2024-08-16 14:25:41 -07:00
andrew ce54746a4a Add several new cache events to metrics 2024-08-16 12:48:22 -07:00
andrew b15959d62c Add more perf counters 2024-08-16 10:57:00 -07:00
andrew b009de1c2b Avoid branching on type twice in erase 2024-08-16 09:29:22 -07:00
andrew 55a230c75e Remove dontInvalidate arg from erase
Use a new node member "endOfRange" instead
2024-08-16 09:08:56 -07:00
andrew 0711ec3831 Remove dead code 2024-08-15 20:19:00 -07:00
andrew 0280bd77e5 Skip "dontInvalidate" check in erase from gc 2024-08-15 19:07:53 -07:00
andrew 359f6f0042 Update README benchmarks 2024-08-15 18:53:42 -07:00
andrew aa8504ddba Add to corpus 2024-08-15 18:47:47 -07:00
andrew fb7cf18f9b Add some comments about safety of calling maxVersion 2024-08-15 17:35:55 -07:00
andrew b808b97940 Remove a bunch of impl plumbing
By making it a precondition that nodes aren't the root for certain
functions
2024-08-15 17:15:37 -07:00
andrew e480f66846 Have caller ensure root max version for insert 2024-08-15 17:05:10 -07:00
andrew d5bc9221a0 Simplify addWriteRange slightly 2024-08-15 16:59:28 -07:00
andrew 9d23b81d6f Bring in some of the changes from erase-between branch 2024-08-15 16:55:26 -07:00
andrew 0740dcad43 Strengthen checkMemoryBoundInvariants check for Node0
I think this is probably checked elsewhere, but let's check here too for
consistency
2024-08-14 14:28:28 -07:00
andrew 176df61321 Simplify handling of beginNode invalidation if begin is prefix of end 2024-08-14 14:26:13 -07:00
andrew 0a850f22e9 Update README benchmarks 2024-08-12 17:33:45 -07:00
andrew 479b39d055 Add to corpus 2024-08-12 17:28:19 -07:00
andrew 482408d725 Add GCOVR_EXCL_LINE to __builtin_unreachable 2024-08-12 17:07:55 -07:00
andrew 45995e3307 Update comments 2024-08-12 17:05:21 -07:00
andrew 359b0b29ff Avoid function call if no partial key 2024-08-12 16:33:03 -07:00
andrew 54e47ebd40 Simplify insert loop 2024-08-12 16:25:12 -07:00
andrew 1c9dda68a6 Call consumePartialKey from getOrCreateChild 2024-08-12 16:24:05 -07:00
andrew 142455dd28 Move consumePartialKey, and allow empty partial key 2024-08-12 16:18:58 -07:00
andrew 567d385fbd WIP create child in getOrCreateChild 2024-08-12 16:11:16 -07:00
andrew 8a44055533 Consume first byte in insert iteration 2024-08-12 15:39:09 -07:00
andrew 62516825d1 Try specifying filter multiple times 2024-08-12 15:26:36 -07:00
andrew 3d592bd6a9 Move longestCommonPrefix to its own file 2024-08-12 15:10:05 -07:00
andrew f5f5fb620b Run gc at 200%
150% pessimized the "real data" benchmark
2024-08-12 10:48:24 -07:00
andrew e3d1b2e842 Add to corpus
After a bunch of fuzzing on "udon" (my new zen4 machine)
2024-08-09 19:48:22 -07:00
andrew 9f8800af16 Add more to corpus (from fuzzing on osx)
Maybe we should just accumulate the corpus instead of replacing it? That
should be easier on git right?
2024-08-09 18:06:54 -07:00
andrew 182c065c8e Insert common prefix in addWriteRange
This allows us to use our optimized implementation for setting max
version along the search path instead of a one-off loop
2024-08-09 14:57:04 -07:00
andrew 2dba0d5be3 Have insert return a pointer to the in-tree pointer 2024-08-09 13:58:31 -07:00
andrew a1dfdf355c Use metrics to count change in entry count
This lets us run gc slower safely
2024-08-09 13:44:49 -07:00