Commit Graph

258 Commits

Author SHA1 Message Date
b6809d8700 Add arena usage documentation 2025-08-31 14:20:29 -04:00
889109f4ae Intern label sets 2025-08-31 12:47:35 -04:00
4b2c5b8ce8 Accept initializer_list, span, and string_view in api 2025-08-31 12:31:29 -04:00
93ccd2eb71 Use Arena's to manage Metric memory where appropriate 2025-08-31 11:54:17 -04:00
b52d6e5a13 Explain thread safety in Counter::inc 2025-08-30 19:14:16 -04:00
f560ac1736 Use snake_case 2025-08-30 18:59:44 -04:00
4f72840e51 Integrate render into /metrics handler 2025-08-30 18:28:44 -04:00
ff7642195b Make benchmark metric families global 2025-08-30 17:59:24 -04:00
0ff197d406 Fix static initialization order fiasco 2025-08-30 17:57:16 -04:00
affeeb674a Clarify threading model for metrics 2025-08-30 17:29:39 -04:00
21ddcb75fb Fix thread destroy bug 2025-08-30 16:20:35 -04:00
dcf8af6d43 Add test demonstrating thread destruction bug 2025-08-30 15:45:44 -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
50e27cced8 Add more TODOs 2025-08-29 17:15:36 -04:00
d2762dc8da Add TODO 2025-08-29 17: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
fac0d20ae1 Finish metrics design, I think 2025-08-29 11:51:40 -04:00
e3a2ddbbfb Validation + callback api 2025-08-29 11:31:06 -04:00
b6d4ae2862 Initialize atomics in metrics, update style guide on atomics 2025-08-29 10:52:26 -04:00
1133d1e365 Use std::bit_cast, document that gauge mutex is an implementation detail 2025-08-29 10:45:19 -04:00
de5adb54d2 Flesh out metrics architecture more 2025-08-29 10:40:19 -04:00
d0f2b6550a More scaffolding 2025-08-28 17:32:34 -04:00
ca5b299da8 Make MetricKey hashable 2025-08-28 17:10:56 -04:00
9c89eba6c8 Metrics system scaffold 2025-08-28 17:04:53 -04:00
ed6e6ea9fe Output trailing : for konsole integration workaround 2025-08-28 14:45:40 -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
404b491880 Add documentation 2025-08-28 14:05:45 -04:00
bc0d5a7422 Add format utility 2025-08-28 14:01:43 -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
a73a463936 Fix Arena realloc bug 2025-08-28 13:27:53 -04:00
a32356e298 Add ArenaVector 2025-08-28 13:27:21 -04:00
3d61408976 Use precise memory orderings in load_tester 2025-08-27 18:13:28 -04:00
b6e57f58af Increase buffer size to 1 << 16
Also improve camel case script
2025-08-26 22:31:42 -04:00
dabead7d6b Explain hypothesis for batch size 1 helping 2025-08-26 17:08:20 -04:00
c915fed4cc Change max batch to one 2025-08-26 16:54:29 -04:00
431befe9bd Update threading_performance_report with new futex wake behavior 2025-08-26 16:21:05 -04:00
a734760b60 Add documentation to StaticThreadPipeline 2025-08-26 16:11:02 -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
0b63e24b98 Refactor before static pipeline 2025-08-26 14:11:55 -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
eaeffff620 Improve ThreadPipeline docs 2025-08-26 13:10:58 -04:00