Commit Graph

329 Commits

Author SHA1 Message Date
0561d951d4 Finish std::shared_ptr -> Ref migration 2025-09-11 15:06:04 -04:00
a2da7fba84 Explicitly support having a WeakRef to self 2025-09-11 14:54:42 -04:00
5d932bf36c Add polymorphism support to Ref 2025-09-11 14:15:52 -04:00
9a8d4feedd Add documentation 2025-09-11 13:54:00 -04:00
9cd83fc426 Call ~ControlBlock
It's trivially destructible, but just in case. Compiler should optimize it out
2025-09-11 13:18:19 -04:00
10e382f633 Used biased weak count, cache T* pointer
Logically, the strong pointer that destroys T owns +1 weak count too
2025-09-11 13:15:03 -04:00
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
89c5a2f165 Strengthen language instructing reading the style guide 2025-09-11 12:02:44 -04:00
d35a4fa4db Update multi-threaded tests/benchmarks guidance 2025-09-11 12:01:18 -04:00
994e31032f Fix data race in freeing control block 2025-09-11 11:32:59 -04:00
0f179eed88 Switch to two separate atomic counters
It's faster and still correct. I was confused remembering something
about atomic shared pointer ideas before.
2025-09-11 10:53:25 -04:00
b9106a0d3c Add test_reference.cpp 2025-09-10 22:05:31 -04:00
6aaca4c171 Finish reference.hpp 2025-09-10 21:58:08 -04:00
7c4d928807 Start on Ref/WeakRef 2025-09-10 20:04:32 -04:00
5d289ddd42 Add metric for write EAGAIN failures 2025-09-10 16:48:27 -04:00
962a010724 Simplify process_connection_writes condition
And comment explaining that we there's something more precise but more
complex available.
2025-09-10 16:45:04 -04:00
f56ed2bfbe Rename ArenaAllocator -> Arena 2025-09-05 17:57:04 -04:00
46fe51c0bb Make config.toml comments more descriptive and accessible 2025-09-05 16:36:50 -04:00
b93cc2072a Remove -Wno-vla-cxx-extension from .clangd 2025-09-05 16:29:12 -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
ffe7ab0a3e Update default in config.toml 2025-09-05 13:06:10 -04:00
ed3cf25936 Update stale documentation 2025-09-05 13:04:34 -04:00
e67e4aee17 Update /ok to serve dual health check/benchmarking role 2025-09-05 12:39:10 -04:00
761eaa552b Add -Wno-deprecated-literal-operator for clang 2025-09-05 11:39:04 -04:00
e846bc49f6 Set rapidjson docs + examples to off 2025-09-05 11:29:08 -04:00
72481be46d Consolidate into two static libs - one with assertions and one without 2025-09-05 11:22:04 -04:00
d04705624a Handle percent encoding 2025-09-04 20:47:58 -04:00
2278694f4f Separate out api url parser 2025-09-04 16:39:19 -04:00
55069c0c79 Add counters for /v1/{commit,status,version} 2025-09-04 15:49:54 -04:00
96aae52853 Basic implementation of /commit, /version, and /status
No precondition checking, persistence, or log scanning yet.
2025-09-04 15:40:17 -04:00
8b6736127a Add commit pipeline design 2025-09-04 13:40:03 -04:00
9272048108 Outline commit pipeline 2025-09-03 23:43:03 -04:00
b2ffe3bfab Refactor to use format for http responses 2025-09-03 22:45:59 -04:00
978861c430 Parse commit request 2025-09-03 21:53:04 -04:00
46edb7cd26 Allow listening on multiple interfaces 2025-09-03 16:09:16 -04:00
b8eb00e313 Wrap up metrics library 2025-09-03 15:43:26 -04:00
18b0a642bf Round out process collector 2025-09-03 15:34:55 -04:00
f0916d8269 Add process collector 2025-09-03 14:38:10 -04:00
2fa5b3e960 Instrument connections 2025-09-03 13:57:23 -04:00
6d480487da Use temp_arena for formatting instead of cached plan arena 2025-09-03 13:23:58 -04:00
54d06c654f Move PerThreadState to per-thread arenas 2025-09-03 13:16:35 -04:00
f067f4e85b Add weaseldb_metrics_memory_bytes 2025-09-03 13:06:34 -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
0e4c526094 Fix realloc bug in static_format 2025-09-03 12:16:02 -04:00
f16cff9126 Don't copy static_text in render 2025-09-03 11:54:35 -04:00
13e4039ed6 Add performance note to header
Also improve implementation comments
2025-09-03 11:18:03 -04:00