Commit Graph
100 Commits
Author SHA1 Message Date
andrew 968e03403d Revert to linear range checking, but keep short-circuiting 2024-02-08 10:05:22 -08:00
andrew 2cbb6e0170 Short-circuiting, efficient checkRangeRead 2024-02-07 16:31:54 -08:00
andrew 9363d7866c Specify maxVersion meaning 2024-02-07 15:33:15 -08:00
andrew 855b7fa069 Prepare for new invariant 2024-02-07 13:44:46 -08:00
andrew 98124d5493 Sublinear read range checking
Tests / Release [gcc] total: 337, passed: 337
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/6//gcc">weaselab » conflict-set » main #6</a>
Tests / Coverage total: 335, passed: 335
weaselab/conflict-set/pipeline/head This commit looks good
Still slow though
2024-02-06 16:52:20 -08:00
andrew 6be23803a3 Add standalone bench target 2024-02-06 15:03:54 -08:00
andrew 9a80c96533 Short circuit point reads based on maxVersion
Tests / Release [gcc] total: 337, passed: 337
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/5//gcc">weaselab » conflict-set » main #5</a>
Tests / Coverage total: 335, passed: 335
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-06 14:38:39 -08:00
andrew 68239cd80b Maintain nextSib in firstGeq
This is slower, but I think it's closer to what we want for our eventual bespoke
"fused-check-and-search" implementation.
2024-02-06 12:37:02 -08:00
andrew 03e9dc01fd Implement firstGeq directly 2024-02-06 12:11:50 -08:00
andrew d2c89f605f Use rangeVersion indicating < instead of >
This should allow us to use firstGeq (which should be possible to make
more efficient), and generally make things nicer
2024-02-06 11:11:45 -08:00
andrew 0aa2f67f88 Check that all children have reachable present entries 2024-02-05 16:59:21 -08:00
andrew d78afe0823 Interleave checks for point reads
This doesn't actually seem faster, but it should prepare us to implement
range reads non-naively. It probably should be faster. To be
investigated.
2024-02-05 16:44:57 -08:00
andrew 57ec97f2ee Naive range reads implementation and test 2024-02-05 13:59:10 -08:00
andrew e3e0e7ba44 Install texlive-full
Tests / Release [gcc] total: 523, passed: 523
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/3//gcc">weaselab » conflict-set » main #3</a>
Tests / Coverage total: 521, passed: 521
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-05 12:41:35 -08:00
andrew 4b7d6d6cfb Try building paper in jenkins
Tests / Release [gcc] total: 523, passed: 523
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/3//gcc">weaselab » conflict-set » main #3</a>
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-02-05 12:29:53 -08:00
andrew 10b7f405a0 Add beginning of paper 2024-02-05 12:08:49 -08:00
andrew ee14b5f66f Sort before diff
Tests / Release [gcc] total: 523, passed: 523
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Coverage total: 521, passed: 521
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-04 18:12:28 -08:00
andrew c4c86a69c6 Jenkins fix attempts
Tests / Release [gcc] total: 523, failed: 2, passed: 521
Tests / Coverage total: 521, passed: 521
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-02-04 18:08:58 -08:00
andrew 345af773fb Try building in jenkins
Tests / Release [gcc] total: 523, failed: 2, passed: 521
Tests / Coverage total: 523, failed: 2, passed: 521
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-02-04 17:56:16 -08:00
andrew cbf48e2d60 Make linker language c for release build 2024-02-04 17:39:55 -08:00
andrew d0ff4ed4d3 Build object library 2024-02-04 15:27:22 -08:00
andrew 2d220a3f7d Update corpus 2024-02-03 20:15:31 -08:00
andrew a73e366dc9 Draw num writes directly 2024-02-03 17:03:23 -08:00
andrew a632d0cbbb gcc fixes 2024-02-03 13:16:13 -08:00
andrew 81f178face Remove unused code 2024-02-01 18:31:36 -08:00
andrew 20bd5c2fa6 More corpus tinkering. Missing coverage for Node256 2024-02-01 18:22:45 -08:00
andrew aa8327cb5d Fix gcc warning 2024-02-01 17:01:47 -08:00
andrew 906c53ea63 Update corpus 2024-02-01 16:58:42 -08:00
andrew 22daf0b9cb Improve range write performance 2024-02-01 16:52:22 -08:00
andrew 802615e38b Update corpus 2024-02-01 11:47:13 -08:00
andrew 0eff5628bd Fix lastLeq bug 2024-02-01 11:24:57 -08:00
andrew 96aca4a1da Range write WIP 2024-01-31 17:06:59 -08:00
andrew 812eb27708 Return inserted physical node from insert 2024-01-31 16:22:34 -08:00
andrew 31a555c44c Use bitset index for Node48 too 2024-01-31 16:04:03 -08:00
andrew bafe1edfa4 Remove call to memcmp for partial keys 2024-01-31 14:32:25 -08:00
andrew e84ea10d20 Update corpus 2024-01-31 11:27:32 -08:00
andrew 5a69ec82df Partial keys seem to be working 2024-01-31 11:10:41 -08:00
andrew 2e6265b784 More __builtin_clz to std::countl_zero 2024-01-30 21:12:41 -08:00
andrew 220c5caf27 WIP compressed key. Tests fail 2024-01-30 17:31:44 -08:00
andrew ecd549857b Add printTree 2024-01-30 17:16:46 -08:00
andrew dad3a8b5ad Update corpus 2024-01-30 15:34:23 -08:00
andrew 906a007c3a Fix use of uninitialized memory 2024-01-30 14:50:26 -08:00
andrew f2c9267b48 Use a bitset to speed up Node256 scans 2024-01-30 14:21:30 -08:00
andrew 8edac4d811 Use c++20 std::count{l,r}_zero 2024-01-30 13:20:26 -08:00
andrew 3c9c5bd9fb Add benchmarks for getChild{L,G}eq 2024-01-30 13:08:01 -08:00
andrew 017cffd580 Add third_party/nanobench.h 2024-01-30 12:01:49 -08:00
andrew ee01ca5f1e Add forgotten file 2024-01-30 11:56:26 -08:00
andrew f2a8832766 Remove empty else 2024-01-30 11:53:01 -08:00
andrew 023e0caa8f Add test flags to blackbox testing 2024-01-30 11:52:12 -08:00
andrew bd39e9f654 Revert "Rename fuzz to whitebox for pre-baked tests"
This reverts commit d99a478f74.
2024-01-30 11:52:01 -08:00
andrew 2dc0997e72 Tinker whitespace 2024-01-30 11:50:10 -08:00
andrew d99a478f74 Rename fuzz to whitebox for pre-baked tests 2024-01-30 11:49:00 -08:00
andrew 808ffbcbdf Add blackbox, valgrind tests 2024-01-30 11:46:49 -08:00
andrew eca1b9993a Improve symbols test
Remove seed argument and check for disallowed undefined symbols
2024-01-30 11:46:03 -08:00
andrew 3735a43553 Add TestDriver class 2024-01-30 11:13:21 -08:00
andrew 47faa51a35 Add Internal.h 2024-01-30 10:49:49 -08:00
andrew 79176757fc Test symbol visibility 2024-01-30 10:39:43 -08:00
andrew 831088aad9 Leave in the faster version for now 2024-01-26 10:25:48 -08:00
andrew b8de633ca1 Update maxVersion to max(maxVersion, writeVersion) 2024-01-26 10:25:32 -08:00
andrew 270f887584 Annotate unused functions 2024-01-25 15:31:48 -08:00
andrew e8f52ee34b CPack set up for debian 2024-01-25 15:11:59 -08:00
andrew 4d71cf5b75 Implement x86 getChildLeq/getChildGeq 2024-01-25 14:57:03 -08:00
andrew b15bec6b38 SIMD for Node16 in lastLeq and firstGeq 2024-01-25 12:40:11 -08:00
andrew d76ac2a254 Try exported symbols list for Apple
visibility annotations seem to be working for gcc
2024-01-24 15:18:00 -08:00
andrew ae528d3f81 Add files that I didn't add yet but meant to 2024-01-24 15:10:21 -08:00
andrew a6a2ad61d9 Export shared and static libraries 2024-01-24 15:10:06 -08:00
andrew 2d152b9a62 Add pre-commit config 2024-01-24 14:24:58 -08:00
andrew 1200e13568 Make make install do something reasonable 2024-01-24 14:23:15 -08:00
andrew fc8f97ff0f Only link to libstdc++ for Debug build 2024-01-24 13:48:01 -08:00
andrew 063b51699b Make gArbitrary a local 2024-01-24 13:42:29 -08:00
andrew bba733fd93 Remove strip command
This doesn't interact well with debug symbols and disassembly, and the
all the global symbols are correct.
2024-01-24 13:37:01 -08:00
andrew b5a06a8891 Move api symbols out of coverage for now 2024-01-24 13:18:55 -08:00
andrew df3b2b8696 Update corpus 2024-01-24 13:16:05 -08:00
andrew af71519526 Remove old implementation 2024-01-24 13:06:46 -08:00
andrew aa464573e4 Move debug code out of the "coverage matters" section 2024-01-24 13:04:30 -08:00
andrew a7db7711d4 Actually increment iter 2024-01-24 13:04:01 -08:00
andrew 9611345140 Fix off by one error 2024-01-24 13:03:28 -08:00
andrew c19a555fab Only explicitly compile shared lib with -fPIC 2024-01-24 11:33:14 -08:00
andrew 50314773ea Add some GCOVR annotations 2024-01-24 11:24:44 -08:00
andrew cf79328414 gcc fixes 2024-01-24 11:13:03 -08:00
andrew f0939e5c95 Reorganize cmake testing 2024-01-24 10:57:37 -08:00
andrew 77ce12e070 Add corpus of tests 2024-01-24 10:49:46 -08:00
andrew 3cb99ad441 Unbotch x86 simd implementations 2024-01-23 16:46:52 -08:00
andrew c775fccf6f SIMD tinkering 2024-01-23 15:56:57 -08:00
andrew 122cddb54d WIP - seems to work for point reads/writes 2024-01-23 15:32:45 -08:00
andrew 407b9af750 Implement point reads 2024-01-23 11:48:12 -08:00
andrew 3a720ca3ec Non-recursive insert 2024-01-23 10:41:20 -08:00
andrew d68bd52122 Remove redundant work 2024-01-23 10:29:33 -08:00
andrew 836766132f Debug print dot 2024-01-23 10:12:07 -08:00
andrew 5bec5b178d Fix memory leak 2024-01-23 10:11:51 -08:00
andrew f6e48cca0e Switch to radix tree. WIP 2024-01-22 16:27:35 -08:00
andrew 6a52dcc16e Remove [[maybe_unused]] now that there's no anon namespace 2024-01-22 15:52:05 -08:00
andrew 623b56db9d Check malloc returning null 2024-01-22 15:43:03 -08:00
andrew e1a12488dc Isolate treap-specific parts 2024-01-22 13:31:01 -08:00
andrew 5456475db6 Tidy up std::{set,vector} + arena 2024-01-22 13:22:52 -08:00
andrew bcc9195cdb Remove anon namespaces (not needed with visibility=hidden) 2024-01-22 13:15:09 -08:00
andrew be712796f2 Add include dir 2024-01-22 12:58:03 -08:00
andrew d782419d37 Reorganize cmake 2024-01-22 12:54:32 -08:00
andrew 387b04d7a3 Support c89 2024-01-22 11:48:59 -08:00
andrew b39979a471 Fixed signed integer overflow. Closes #1 2024-01-21 17:00:40 -08:00