andrew
|
6abd8139f0
|
Fix clangd warnings
|
2025-05-20 22:25:49 -04:00 |
|
andrew
|
57cceaf3b7
|
Fix an issue with versioned-only benchmark
Previously it was reading some of the keys from unversioned storage.
Also add some more benchmarks
|
2024-06-19 15:08:16 -07:00 |
|
andrew
|
39273424c1
|
Only search backward for materializing clear range
|
2024-06-19 12:16:09 -07:00 |
|
andrew
|
c4c269ab94
|
Skip unversioned for adjacent mutations, reverse reads
|
2024-06-17 12:22:43 -07:00 |
|
andrew
|
fcb881f408
|
Skip unversioned until non-adjacent mutation in facade
Only implemented for forward reads so far
|
2024-06-17 11:57:36 -07:00 |
|
andrew
|
b2ce851d56
|
Update corpus
|
2024-06-15 22:16:52 -07:00 |
|
andrew
|
e11ee26332
|
Allow stack to grow in gc
The previous bound was valid in each logical version of the map, but not
for the physical map's structure.
|
2024-06-15 20:28:43 -07:00 |
|
andrew
|
0af75f5e9c
|
Make gRandom inline
I have no idea why I made it static
|
2024-06-15 20:18:08 -07:00 |
|
andrew
|
43ba21329b
|
Mark remainder of rightmost page no_access after gc
|
2024-06-15 18:11:18 -07:00 |
|
andrew
|
3e9c69e857
|
Update corpus
|
2024-06-15 09:47:20 -07:00 |
|
andrew
|
edb76feadf
|
Remove "next" argument from materializeMutations
|
2024-06-14 23:40:09 -07:00 |
|
andrew
|
2eea70f063
|
Fix a bug where a range end's version wasn't updated
|
2024-06-14 23:26:00 -07:00 |
|
andrew
|
be3032e2f3
|
Fix a use of an invalid iterator
|
2024-06-14 23:25:43 -07:00 |
|
andrew
|
b34d559c02
|
Strengthen valgrind checks
|
2024-06-14 22:31:05 -07:00 |
|
andrew
|
e4a77c88d8
|
Fix two canonicalization bugs
|
2024-06-14 21:51:59 -07:00 |
|
andrew
|
a63fd3970b
|
Reworking the representation for the beginning of a clear range
Most tests pass. Some tests fail.
|
2024-06-14 19:13:51 -07:00 |
|
andrew
|
685b49c96d
|
WIP adhoc test looks ok
|
2024-06-14 17:58:33 -07:00 |
|
andrew
|
8b22fbe261
|
Tinker with main
|
2024-06-14 17:19:02 -07:00 |
|
andrew
|
729fcdb616
|
Avoid some insertions in point clears
|
2024-06-14 16:00:08 -07:00 |
|
andrew
|
551f34baf4
|
Add whitebox tests
Previously we had NDEBUG set for all testing (except libfuzzer)
|
2024-06-14 14:44:01 -07:00 |
|
andrew
|
63bea7ff1e
|
Add LICENSE
|
2024-06-14 14:31:08 -07:00 |
|
andrew
|
b5997d5ccc
|
Add disclaimer to README
|
2024-06-14 14:30:14 -07:00 |
|
andrew
|
efd2405443
|
Check "latestRoot" property
|
2024-06-05 12:41:07 -07:00 |
|
andrew
|
1492a1c3d4
|
Fix linux symbol exports
|
2024-06-05 12:27:42 -07:00 |
|
andrew
|
0d059ec1fd
|
Move all * to weaselab column in readme
|
2024-06-05 10:47:28 -07:00 |
|
andrew
|
f1d10a1fed
|
Amortize cost of searching for continueKey
|
2024-06-05 10:41:21 -07:00 |
|
andrew
|
742f1da722
|
Improve clarity in operator{--,++}
|
2024-06-04 16:31:19 -07:00 |
|
andrew
|
13f6279970
|
Branch-free child function
|
2024-06-04 13:59:26 -07:00 |
|
andrew
|
118071e3e9
|
Share kStackAllocThreshold
|
2024-06-03 22:35:49 -07:00 |
|
andrew
|
b92f0ec227
|
Add efficient firstGeq overload for latestVersion
|
2024-06-03 22:32:47 -07:00 |
|
andrew
|
ba11412584
|
Fix typo
|
2024-06-03 14:51:17 -07:00 |
|
andrew
|
e772f066d5
|
Add rough memory usage
|
2024-06-03 14:50:49 -07:00 |
|
andrew
|
7667d02987
|
Add benchmarks to readme
|
2024-06-03 14:46:39 -07:00 |
|
andrew
|
47c1ff5636
|
Remove unnecessary hyphen
|
2024-06-03 14:41:35 -07:00 |
|
andrew
|
03ec6326a4
|
Add README.md
|
2024-06-03 14:40:35 -07:00 |
|
andrew
|
509dab82e3
|
Don't declare move constructors for Iterator unless c++11
|
2024-06-03 13:44:38 -07:00 |
|
andrew
|
9e90d5aadf
|
Use more conventional field order in Mutation
|
2024-06-03 13:26:27 -07:00 |
|
andrew
|
a3591ebdb8
|
Reuse iterators in bench
|
2024-06-03 13:20:55 -07:00 |
|
andrew
|
96f9492a97
|
Use distinct but larger versions in firstGeq bench
|
2024-06-03 13:20:21 -07:00 |
|
andrew
|
fd618d0f07
|
Bug fix
The bottommost node of a finger isn't necessarily the root for an
iterator's version. It could be "end"
|
2024-06-03 12:56:17 -07:00 |
|
andrew
|
f5fdc3eaf1
|
Store version instead of pointer to version
|
2024-06-03 12:28:26 -07:00 |
|
andrew
|
ae2b50d765
|
Interleave key search
|
2024-06-03 12:27:37 -07:00 |
|
andrew
|
f8b8c92b40
|
ILP firstGeq WIP
|
2024-06-03 12:23:54 -07:00 |
|
andrew
|
62cefe1990
|
Add bulkFirstGeq benchmark
|
2024-06-03 10:46:35 -07:00 |
|
andrew
|
169afd629c
|
Clarify addMutations documentation
|
2024-05-31 14:24:53 -07:00 |
|
andrew
|
5da76e4585
|
Fix linux build
|
2024-05-30 18:02:05 -07:00 |
|
andrew
|
6c3eae219d
|
Remove duplicated operator<=>
|
2024-05-30 11:14:44 -07:00 |
|
andrew
|
7a7eef2b7d
|
Tweak header documentation
|
2024-05-30 10:41:57 -07:00 |
|
andrew
|
5b6e610d54
|
Update corpus
|
2024-05-30 10:29:24 -07:00 |
|
andrew
|
16c2bb1d11
|
Enable asserts in fuzz target
|
2024-05-29 22:00:18 -07:00 |
|
andrew
|
10b032076e
|
Update corpus
|
2024-05-29 17:59:00 -07:00 |
|
andrew
|
887f400a47
|
Expand clears
|
2024-05-29 17:45:23 -07:00 |
|
andrew
|
dab6929e88
|
Add Entry::pointClear
|
2024-05-29 16:13:45 -07:00 |
|
andrew
|
f1f4d66678
|
Prepare to fully canonicalize views
|
2024-05-28 21:38:08 -07:00 |
|
andrew
|
93ff83e422
|
Start facade past window in bench
|
2024-05-28 17:17:30 -07:00 |
|
andrew
|
25dea71f00
|
Add TODO
|
2024-05-28 17:00:49 -07:00 |
|
andrew
|
0de303b6c6
|
Improve SHOW_MEMORY accounting
|
2024-05-28 16:54:46 -07:00 |
|
andrew
|
dc587e627b
|
Fuzzer thinks FdbVersionedMap seems ok
|
2024-05-28 16:35:58 -07:00 |
|
andrew
|
3aa192255e
|
Identify some FdbVersionedMap bugs
|
2024-05-28 14:01:51 -07:00 |
|
andrew
|
1b5ed72ab9
|
Add FdbVersionedMap. Not working yet
|
2024-05-28 13:47:13 -07:00 |
|
andrew
|
42298a911a
|
Prepare to add fdb implementation
Fixes a end iter deref and remove rpath from test
|
2024-05-28 13:23:06 -07:00 |
|
andrew
|
37f972145e
|
Re-use search implementation in insert
|
2024-05-24 14:49:59 -07:00 |
|
andrew
|
d11150926b
|
Preserve finger after insert
|
2024-05-24 14:17:11 -07:00 |
|
andrew
|
d51c58e6d5
|
Add operator== for Finger
|
2024-05-24 13:58:19 -07:00 |
|
andrew
|
8f8ea62ed5
|
Remove dead code
|
2024-05-23 21:15:12 -07:00 |
|
andrew
|
9917078682
|
Fix weird whitespace
|
2024-05-23 18:30:06 -07:00 |
|
andrew
|
021569f033
|
Templatize direction for move
|
2024-05-23 18:26:26 -07:00 |
|
andrew
|
b5dbf4a049
|
Avoid copies in Facade
|
2024-05-23 17:27:55 -07:00 |
|
andrew
|
2764a049a8
|
Merge two iterators approach for reverse case
|
2024-05-23 16:52:23 -07:00 |
|
andrew
|
5ff7ecc6fc
|
Facade: two iterator merge approach for forward case
|
2024-05-23 16:25:29 -07:00 |
|
andrew
|
5b4c7ddf7d
|
Don't scan+apply every setOldestVersion call
|
2024-05-23 14:54:07 -07:00 |
|
andrew
|
e08ec7c54d
|
Don't reapply mutations at unversionedVersion
|
2024-05-23 14:31:54 -07:00 |
|
andrew
|
c65004d60f
|
Skip applied mutations in Facade::setOldestVersion
|
2024-05-23 11:22:38 -07:00 |
|
andrew
|
262c9cd10c
|
Scan and remove old entries in addMutations
|
2024-05-22 16:07:34 -07:00 |
|
andrew
|
82c8f95dbe
|
More benchmarks
|
2024-05-22 14:26:05 -07:00 |
|
andrew
|
3e1bd9c7b8
|
Add benchmark. Looks slow :/
|
2024-05-22 13:14:25 -07:00 |
|
andrew
|
49a1ec0ab7
|
Add fuzz corpus and blackbox tests
|
2024-05-20 15:12:05 -07:00 |
|
andrew
|
89c6aae53a
|
Fix bugs found through fuzzing
|
2024-05-19 20:08:27 -07:00 |
|
andrew
|
e23f11c1f0
|
Add reference implementation
|
2024-05-19 17:02:27 -07:00 |
|
andrew
|
445aee2ce9
|
Fix bug where gc was scanning uninit memory
|
2024-05-17 13:36:03 -07:00 |
|
andrew
|
d3dc7406cf
|
Fix gc memory leak
|
2024-05-16 22:31:05 -07:00 |
|
andrew
|
ba9db0ddae
|
Add basic debug printing
|
2024-05-16 21:41:18 -07:00 |
|
andrew
|
2bc827f767
|
Fix linux includes
|
2024-05-16 21:16:29 -07:00 |
|
andrew
|
190cd05c13
|
Initialize version sooner in VersionedMap::begin
|
2024-05-16 18:45:26 -07:00 |
|
andrew
|
1e1f5d6d5c
|
Add FacadeFuzz
|
2024-05-16 17:29:02 -07:00 |
|
andrew
|
36779a068e
|
Remove cmp for now
|
2024-05-16 16:38:41 -07:00 |
|
andrew
|
3819b83d78
|
Logically revert 0071600
Return mutation intersecting query key if it exists
|
2024-05-16 16:09:39 -07:00 |
|
andrew
|
d0bfdcb07d
|
Remove redundant code
|
2024-05-15 19:47:30 -07:00 |
|
andrew
|
7526e119af
|
Annotate interposable calls to fix later
|
2024-05-15 17:05:14 -07:00 |
|
andrew
|
3eea0f6a60
|
s/readThrough/readFrom/g
|
2024-05-15 16:34:49 -07:00 |
|
andrew
|
007160098e
|
Change firstGeq to compare to param1
|
2024-05-15 16:31:34 -07:00 |
|
andrew
|
464d720a6b
|
Handle decrementing end
|
2024-05-15 14:53:58 -07:00 |
|
andrew
|
2b22a7823a
|
Add gRandom and gArbitrary and initFuzz
|
2024-05-15 14:14:44 -07:00 |
|
andrew
|
75d5e811de
|
Avoid some copies in Facade
|
2024-05-15 13:53:05 -07:00 |
|
andrew
|
63fdc5e4f5
|
Allow begin >= end for unversionedRead
|
2024-05-15 13:49:48 -07:00 |
|
andrew
|
3bdf345ae7
|
Add x86 linux symbols
|
2024-05-14 18:31:45 -07:00 |
|
andrew
|
207314d950
|
Fix putchar import
|
2024-05-14 18:13:55 -07:00 |
|
andrew
|
006807b17f
|
Add symbols imported in seededRandom
|
2024-05-14 18:05:04 -07:00 |
|
andrew
|
a7005af6ba
|
Rotate all the way to the bottom for simplicity
|
2024-05-14 18:04:35 -07:00 |
|
andrew
|
5afe1037b2
|
Call Facade::setOldestVersion
|
2024-05-14 17:46:01 -07:00 |
|