Commit Graph

  • e3d1b2e842 Add to corpus andrew 2024-08-09 19:19:44 -07:00
  • 9f8800af16 Add more to corpus (from fuzzing on osx) andrew 2024-08-09 18:06:54 -07:00
  • 182c065c8e Insert common prefix in addWriteRange andrew 2024-08-09 14:57:04 -07:00
  • 2dba0d5be3 Have insert return a pointer to the in-tree pointer andrew 2024-08-09 13:58:31 -07:00
  • a1dfdf355c Use metrics to count change in entry count andrew 2024-08-09 13:44:49 -07:00
  • 15919cb1c4 Add range writes to server_bench andrew 2024-08-09 13:43:24 -07:00
  • 5ed9003a83 Bump version andrew 2024-08-08 12:09:26 -07:00
  • 84c6a2bfc2 Disable debug symbols and frame pointer for macos v0.0.11 andrew 2024-08-08 11:51:13 -07:00
  • b5772a6aa0 Revert "Use homebrew clang for packaging for macos" andrew 2024-08-08 11:50:13 -07:00
  • e6c39981b9 Bump version andrew 2024-08-08 11:26:49 -07:00
  • c20c08f112 Use homebrew clang for packaging for macos v0.0.10 andrew 2024-08-08 11:06:26 -07:00
  • ac98d4a443 Remove always_inline attribute - it wasn't affecting codegen andrew 2024-08-08 10:44:54 -07:00
  • 1d9e8ab68b Add missing test coverage for fixupMaxVersion for Node256 andrew 2024-08-07 16:52:10 -07:00
  • 7d86beb14c Revert 29c05187fb andrew 2024-08-07 16:51:23 -07:00
  • 2fa954ed36 Fix compiler warning andrew 2024-08-07 16:25:49 -07:00
  • ded6e7fc2c Require entry present for fixupMaxVersion andrew 2024-08-06 17:59:38 -07:00
  • 781ba15cae Enforce that root does not have a partial key andrew 2024-08-06 17:55:33 -07:00
  • 9b56a74b2f Update corpus andrew 2024-08-06 17:43:48 -07:00
  • 6da9cbdec9 Update benchmarks andrew 2024-08-06 16:07:16 -07:00
  • 29c05187fb Early return if common prefix isn't a prefix of an entry andrew 2024-08-06 15:32:44 -07:00
  • d89028dd2f Inline SearchStepWise into checkRangeRead andrew 2024-08-06 14:45:52 -07:00
  • 09cf807747 Avoid some branches on node type while inserting andrew 2024-08-06 13:51:49 -07:00
  • 051eb5919d Extract consumePartialKey to its own function andrew 2024-08-06 13:20:44 -07:00
  • ed5589e4ed Specialize partial key split for newly created Node3 andrew 2024-08-06 13:04:19 -07:00
  • a7b3d8fe4c Clarify insert documentation andrew 2024-08-06 11:29:33 -07:00
  • c3a047fdf8 Handle newly-created node partial key immediately andrew 2024-08-06 09:22:21 -07:00
  • b4b469a175 Use maxOfMax in fixupMaxVersion andrew 2024-08-05 21:41:49 -07:00
  • 0201e27498 Remove redundant setMaxVersion calls andrew 2024-08-05 19:29:38 -07:00
  • 2010920a2c Correct comment andrew 2024-08-05 19:28:24 -07:00
  • 19af8da65c Fix endNode's max version after the fact andrew 2024-08-05 17:50:26 -07:00
  • 80785e3c3b Avoid switch on parent type for max version during search andrew 2024-08-05 16:40:58 -07:00
  • 4580ee44b4 Add range reads to ServerBench andrew 2024-08-05 15:44:13 -07:00
  • 2d3985ca40 Add a simple point read/write workload to ServerBench andrew 2024-08-05 14:37:00 -07:00
  • c8be68db40 Add ServerBench.cpp andrew 2024-08-05 12:20:38 -07:00
  • f5d021d6b6 Add multi-version rezero16 andrew 2024-08-03 14:22:50 -07:00
  • 1c41605b53 Use std::countr_zero instead of __builtin_ctz andrew 2024-08-03 10:01:12 -07:00
  • 8f03a105bb Use target avx512f,avx512bw andrew 2024-08-02 21:47:23 -07:00
  • 0e574856be Make checkMaxBetweenExclusive a multi-version function andrew 2024-08-02 21:09:55 -07:00
  • 493a6572ad Only exclude avx512-targeted functions from coverage andrew 2024-08-02 20:53:30 -07:00
  • abce4591d0 Fix preprocessor guard for avx512 longestCommonPrefix andrew 2024-08-02 20:46:32 -07:00
  • d1dc1247e1 Switch to new machine for benchmarks andrew 2024-08-02 18:18:36 -07:00
  • f1ad68109a Skip lcp call in SearchStepWise if no partial key andrew 2024-08-02 17:01:19 -07:00
  • c4443bc355 Remove len < 8 check in longestCommonPrefix andrew 2024-08-02 16:57:32 -07:00
  • 857b402fe2 Add an avx512bw longestCommonPrefix andrew 2024-08-02 16:43:58 -07:00
  • 9b3e1b219b Remove small memmoves in erase andrew 2024-08-02 16:01:46 -07:00
  • ab52c63935 Move local accum's into ReadContext andrew 2024-08-02 14:08:28 -07:00
  • bad9d7ced8 Avoid some tls lookups for InternalVersionT::zero andrew 2024-08-02 13:54:53 -07:00
  • c8d9dc034d Remove memmove call for inserting into Node16 andrew 2024-08-02 13:44:53 -07:00
  • 72168ef6a3 Avoid memmove when inserting into Node3 andrew 2024-08-02 13:33:18 -07:00
  • 620a0afd2a Add debug symbols and frame pointer andrew 2024-08-02 12:04:42 -07:00
  • b0414969be Update README.md andrew 2024-08-01 16:43:15 -07:00
  • 1673e1c0dd Enforce 100% line coverage again. Closes #30 andrew 2024-08-01 16:03:17 -07:00
  • 7351b6e417 More gcovr exclusions for function multi-versioning andrew 2024-08-01 15:53:38 -07:00
  • 561ed45e3e Show missing coverage lines in console output andrew 2024-08-01 15:43:09 -07:00
  • ca804f28c0 Get back to 100% line coverage locally andrew 2024-08-01 15:31:38 -07:00
  • 3898cb596a Use _mm512_loadu_epi32 instead of memcpy andrew 2024-08-01 15:24:09 -07:00
  • b8edd92698 Fix warning andrew 2024-08-01 15:23:43 -07:00
  • 8e480528d5 Update corpus andrew 2024-08-01 14:56:36 -07:00
  • 4113183155 Attempt to fix likely arm bug andrew 2024-08-01 14:01:41 -07:00
  • adb8fdc5e9 Simplify nextPhysical andrew 2024-08-01 14:00:02 -07:00
  • c86e407985 Return Node from getChildGeq andrew 2024-08-01 13:53:18 -07:00
  • 71a84057cb Find two more call sites for getFirstChildExists andrew 2024-08-01 13:37:44 -07:00
  • 9c5e5863c2 Simplify remaining "down left spine" loops andrew 2024-08-01 13:17:33 -07:00
  • be67555756 Simplify more "down left spine" loops andrew 2024-08-01 13:13:55 -07:00
  • 988ec5ce69 Add getFirstChildExists andrew 2024-08-01 13:00:54 -07:00
  • f5a0d81c52 Remove some redundant branches andrew 2024-08-01 12:37:57 -07:00
  • 3b2bd16cd1 Add overloads of getChild for each type andrew 2024-08-01 11:42:55 -07:00
  • 4b3df0a426 Avoid dispatching on node type twice in nextPhysical andrew 2024-08-01 10:46:08 -07:00
  • 4cdf6deb50 Remove a branch in happy path in addWrites andrew 2024-08-01 10:28:50 -07:00
  • f21dde06d3 Group write metric accumulators into a struct andrew 2024-07-31 21:45:20 -07:00
  • 2b11650589 Update aarch64 import symbols andrew 2024-07-31 17:34:30 -07:00
  • fce998460f Use int64_t internally for metrics andrew 2024-07-31 14:41:42 -07:00
  • 6da3125719 Remove everything wasm-related andrew 2024-07-31 14:04:10 -07:00
  • 79410d071f Add accidentally-deleted corpus back andrew 2024-07-26 14:57:04 -07:00
  • 1fcca6450d Fix point writes accounting andrew 2024-07-26 14:41:54 -07:00
  • 55271ad06c Update corpus andrew 2024-07-23 16:54:03 -07:00
  • e675612599 Suppress some warnings in test code andrew 2024-07-23 16:50:02 -07:00
  • 42b5d50492 Update DEBUG_VERBOSE for interleaving conflict sets in test andrew 2024-07-23 15:44:29 -07:00
  • 6394995def Add a test where the "zero" bug causes an incorrect commit andrew 2024-07-23 14:20:35 -07:00
  • c649bc7964 Interleave calls for two conflict sets in tests andrew 2024-07-23 11:12:02 -07:00
  • ec85a06d01 Bump version andrew 2024-07-22 17:25:38 -07:00
  • fb9f5ce6f4 Update InternalVersionT::zero in addWrite call v0.0.9 andrew 2024-07-22 16:14:25 -07:00
  • 2b1c710953 Add noop getMetricsV1 to HashTable.cpp andrew 2024-07-19 11:25:12 -07:00
  • ebf281220b Add NOLINT for new clangd warning about sizeof pointer andrew 2024-07-19 11:24:37 -07:00
  • 6051b2fb2e Remove benchMetrics andrew 2024-07-19 11:24:01 -07:00
  • 11c3ca6766 Add oldest_extant_version metric andrew 2024-07-18 14:19:11 -07:00
  • b45dec2f1f Add point_writes_total and range_writes_total andrew 2024-07-18 14:00:57 -07:00
  • c5e9f18c47 Remove some unnecessary std::exchange's andrew 2024-07-17 18:57:12 -07:00
  • cebbf89cbe Fix build for x86 andrew 2024-07-17 18:47:12 -07:00
  • abb791d86b Just use a normal && in a place where being branch-free isn't a big deal andrew 2024-07-17 18:21:33 -07:00
  • 12f361f33a Don't plumb impl and ReadContext andrew 2024-07-17 18:12:45 -07:00
  • 640c1ca9dd Fix issue with thread_local performance andrew 2024-07-17 17:53:12 -07:00
  • b7d54d44e1 Add oldest version and newest version metrics andrew 2024-07-17 16:42:46 -07:00
  • 95596f831f Add some metrics for addWrites and setOldestVersion andrew 2024-07-17 16:35:29 -07:00
  • 542371d562 Build TestDriver for perf testing too andrew 2024-07-17 15:48:32 -07:00
  • 958a4e2d0e Strengthen metric name structure according to Prometheus guidance andrew 2024-07-16 18:59:42 -07:00
  • 8ce14c58a4 Print metrics for blackbox tests andrew 2024-07-16 16:46:57 -07:00
  • 56e847b63c Experiment with CLOCK_THREAD_CPUTIME_ID andrew 2024-07-15 21:34:22 -07:00
  • 7fd1c9e140 Make range_read_iterations_total consistent with others andrew 2024-07-15 17:23:48 -07:00
  • ebaac253e2 Don't count loop entry as an "iteration" andrew 2024-07-15 14:46:57 -07:00