Commit Graph

42 Commits

Author SHA1 Message Date
f83e21b5a0 Defeat shared_ptr's single-threaded optimizations
WeaselDB is always going to start multiple threads, so we don't care
about single-threaded performance
2025-09-11 13:13:05 -04:00
5adbf8eee2 Organize bench_reference.cpp with doctest 2025-09-11 12:32:25 -04:00
2bc17cbfe6 Add bench_reference.cpp
Also update snake case script for nanobench symbols
2025-09-11 12:22:56 -04:00
f56ed2bfbe Rename ArenaAllocator -> Arena 2025-09-05 17:57:04 -04:00
0357a41dd8 Implement spend_cpu_cycles in assembly
The compiler was unrolling it previously, so we're doing assembly now for consistency.
2025-09-05 15:16:49 -04:00
e67e4aee17 Update /ok to serve dual health check/benchmarking role 2025-09-05 12:39:10 -04:00
0ac4c31a53 Measure per metric in render scale bench 2025-09-03 12:51:49 -04:00
52b0cb3e6e Remove background thread from callback bench 2025-09-03 12:19:10 -04:00
76193f772c Tinker with benchmarks. Looking at render performance 2025-09-03 12:16:56 -04:00
ff7642195b Make benchmark metric families global 2025-08-30 17:59:24 -04:00
935bab9454 Make histograms atomic
E.g. count and sum should be consistent with each other
2025-08-29 21:05:51 -04:00
5592d065de Actually have contention in benchmark 2025-08-29 17:05:21 -04:00
91e799aae8 Use plain arrays and atomic read with intrinsics for render 2025-08-29 15:10:10 -04:00
4fc277393e Use std::latch sync in benchmarks too 2025-08-29 14:29:15 -04:00
a5776004de Update potential misunderstanding about thread safety 2025-08-29 14:08:41 -04:00
62b37c067c Metrics implementation, WIP 2025-08-29 13:43:03 -04:00
c97920c473 format utility improvements 2025-08-28 14:40:01 -04:00
7808896226 Add format benchmarks 2025-08-28 14:20:27 -04:00
6fb57619c5 Remove inaccurate "zero-{copy,allocation}" claims 2025-08-28 13:40:05 -04:00
f46a98249f Change to loop_iterations 2025-08-28 13:34:52 -04:00
6e48a0ff9a Let WaitIfUpstreamIdle spin long enough to stay saturated by load_tester 2025-08-26 15:38:07 -04:00
6dbf29d1e1 StaticThreadPipeline 2025-08-26 15:13:16 -04:00
1f050c861a Add operator[] to batch in thread pipeline 2025-08-26 13:39:11 -04:00
3c3555da7a Benchmark different batches and wait strategies 2025-08-26 13:33:16 -04:00
4e9e4d634c Add initial thread pipeline benchmark 2025-08-26 13:11:20 -04:00
50d873e8eb Actually use loopIterations 2025-08-25 13:18:35 -04:00
5314448480 Move bench_volatile_loop to benchmarks/ 2025-08-25 13:15:59 -04:00
34b5de1744 Use reference parser for tests 2025-08-18 06:27:24 -04:00
9e397d19c9 Make codebase consistent with design.md 2025-08-17 17:00:23 -04:00
8862fdd588 Update documentation 2025-08-17 16:11:28 -04:00
ed84e4b54c Fix debug warnings 2025-08-17 15:41:51 -04:00
67b7563f64 Make comparison benchmarks relative 2025-08-17 15:32:54 -04:00
519c9457cd Only pass CommitRequest to begin_streaming_parse 2025-08-17 15:32:54 -04:00
032a4184cc Measure per byte in benchmarks and remove some of them 2025-08-17 15:32:54 -04:00
fa2a2e4427 Decouple parser from CommitRequest 2025-08-17 15:32:54 -04:00
628fe466ef Compare with rapidjson 2025-08-17 15:32:54 -04:00
8e33b477eb Make allocate take a template type
So we use the right alignment
2025-08-15 13:31:45 -04:00
f1794bcb3e Add arena debug visualization tool 2025-08-15 11:25:10 -04:00
469e44c6f6 Consolidate duplicate test data 2025-08-15 06:38:38 -04:00
a793db40f0 Compare with nlohmann/json 2025-08-14 23:09:29 -04:00
8daea72a22 Simplify Arena benchmark 2025-08-14 11:35:15 -04:00
281e9d728b Initial arena benchmarks 2025-08-14 11:25:47 -04:00