Commit Graph

268 Commits

Author SHA1 Message Date
5c377aa14d Add initial http server design 2025-08-18 11:45:28 -04:00
f4cbfc0c4f Abort instead of calling std::bad_alloc 2025-08-18 11:04:45 -04:00
b5cb4d2a81 Reorganize
Test-only code to tests
Rename interface to CommitRequestParser
2025-08-18 06:38:18 -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
1b1b875a3a Update design.md 2025-08-17 16:46:00 -04:00
34ebf5725f Simplify public headers more 2025-08-17 16:38:38 -04:00
8862fdd588 Update documentation 2025-08-17 16:11:28 -04:00
fff7d67605 Fix naming inconsistency between code and markdown 2025-08-17 16:04:42 -04:00
cca6a93c0e Simplify and clean up 2025-08-17 15:53:37 -04:00
344f287d60 Enable warnings for release build too 2025-08-17 15:43:09 -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
05ee8e05f8 Update design.md 2025-08-17 15:32:54 -04:00
67ddcd0fc8 Remove has_read_version_been_set_ from CommitRequest 2025-08-17 15:32:54 -04:00
fa2a2e4427 Decouple parser from CommitRequest 2025-08-17 15:32:54 -04:00
db2285dfda Remove unused header 2025-08-17 15:32:54 -04:00
0b7c29f151 Use consistent style in data callbacks 2025-08-17 15:32:54 -04:00
6775276e73 Tinkering with gperf options 2025-08-17 15:32:54 -04:00
ce9d7db277 Use gperf - not faster yet 2025-08-17 15:32:54 -04:00
6343213e1b Disable rapidjson tests 2025-08-17 15:32:54 -04:00
628fe466ef Compare with rapidjson 2025-08-17 15:32:54 -04:00
5ffef98e3d Fix formatting 2025-08-15 22:49:18 -04:00
f890172431 Generic config parsing utilities 2025-08-15 22:48:40 -04:00
c55c9f6cd9 Remove stack, just use state machine 2025-08-15 21:55:08 -04:00
b67666b97a Update design.md 2025-08-15 20:39:45 -04:00
ea5da5fae1 Use size of current block for doubling, not total 2025-08-15 19:25:35 -04:00
9d18c0fcda Skip accumulating if all data is available 2025-08-15 19:19:49 -04:00
a119f5232b Use base64 from simdutf8 2025-08-15 16:51:30 -04:00
f6fbb3b3f0 Update docstrings 2025-08-15 16:35:16 -04:00
4e8d3a4c61 Separate arena for state during parsing 2025-08-15 15:19:24 -04:00
0f72aded89 Only show bytes that were actually used 2025-08-15 15:09:37 -04:00
42d42bdf39 Accurately track used bytes in Arena 2025-08-15 15:02:18 -04:00
9fdcae5098 Fix warning 2025-08-15 14:20:28 -04:00
3a508602f5 Make sure aligned_alloc args are valid 2025-08-15 14:14:55 -04:00
abea5cd8cd realloc_raw 2025-08-15 13:45:05 -04:00
9e7e3ed40a Use allocate in ArenaStlAllocator 2025-08-15 13:38:13 -04:00
8e33b477eb Make allocate take a template type
So we use the right alignment
2025-08-15 13:31:45 -04:00
52f0eeee1f Add ArenaAllocator::realloc 2025-08-15 12:30:05 -04:00
6c506a2ba2 Move most of arena_allocator.hpp out of the header 2025-08-15 11:36:40 -04:00
f1794bcb3e Add arena debug visualization tool 2025-08-15 11:25:10 -04:00
28fa96011f Arena debug visualization 2025-08-15 10:47:40 -04:00
0b9bd2e819 Use has_value instead of operator bool 2025-08-15 10:32:06 -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
38c6e75f52 Add benchmark for parsing commit requests 2025-08-14 20:29:21 -04:00
ee5d14c4cd Clear key after matching on it 2025-08-14 16:49:20 -04:00
52381467f7 Bug fixes 2025-08-14 16:27:28 -04:00