Commit Graph

173 Commits

Author SHA1 Message Date
andrew 47a418b689 Separate "normal" and "unicode" escapes 2025-06-23 13:18:05 -04:00
andrew fe60881476 Add literals bench 2025-06-23 13:10:41 -04:00
andrew 4a9dfe0b45 Nest escape handling under N_STRING2 2025-06-23 13:06:12 -04:00
andrew 7ae2ef5443 Stop inlining strings and numbers into n_value
Too complex
2025-06-23 13:00:10 -04:00
andrew 2cd2975ad4 Remove dead code 2025-06-23 12:36:49 -04:00
andrew f4c4ed4c36 Compare specific inputs with simdjson dom 2025-06-23 12:24:28 -04:00
andrew 03156d2036 Benchmarks that push the implementation in a specific way 2025-06-23 12:19:28 -04:00
andrew 56fc45ab52 Remove dead code 2025-06-23 11:53:39 -04:00
andrew e477ff095a clangd and clang-format pre commit agree now
Sheesh
2025-06-23 10:53:11 -04:00
andrew fc1b3ac147 Fix string scan bug 2025-06-22 23:02:38 -04:00
andrew 95250d1668 Improve fuzz testing to find string scan bug 2025-06-22 23:00:34 -04:00
andrew 5a74124cae Fix bug 2025-06-22 19:47:59 -04:00
andrew 337d93bcea simd scan with dfa as fallback 2025-06-21 21:59:21 -04:00
andrew fa0cc1a970 Scan string directly in n_value 2025-06-21 21:17:12 -04:00
andrew 229a68bfdd Switch to dfa for strings 2025-06-21 17:12:48 -04:00
andrew 6c48c40d67 Rename tables 2025-06-21 16:05:02 -04:00
andrew 1df18b3c57 Add comments to dfa's 2025-06-21 16:01:35 -04:00
andrew 7806f6420f Add to corpus 2025-06-21 15:56:42 -04:00
andrew 5613303d52 Add automata to recognize utf8 in strings 2025-06-21 15:56:15 -04:00
andrew d1523acf94 Improve scan codegen 2025-06-20 15:11:29 -04:00
andrew 2be21c5453 Avoid pushing N_NUMBER on the stack if possible 2025-06-20 14:33:37 -04:00
andrew 4f24a44cb2 Improve scan 2025-06-20 10:02:37 -04:00
andrew 976f64b7d3 Try out dfa for numbers 2025-06-19 16:13:46 -04:00
andrew e1ba8e9fa8 Fix non-x86 build 2025-06-05 17:42:34 -04:00
andrew 0c2af46a79 Start bench at a stride of 128 2025-06-05 15:45:44 -04:00
andrew 35c3e14586 Remove -mavx 2025-06-05 15:38:24 -04:00
andrew d60777002f Function multiversioning for n_string2 2025-06-05 15:36:12 -04:00
andrew f7871915e9 Update simd.h 2025-06-05 15:34:10 -04:00
andrew b050361823 Sort Parser3 members by size and add consts 2025-06-05 10:48:34 -04:00
andrew 2017784c97 Try to keep buf and bufEnd in registers 2025-06-05 10:43:38 -04:00
andrew 57bdc79ee7 Run tests from source dir to find test.json 2025-06-05 10:37:03 -04:00
andrew d6d5e210e4 Update simd.h 2025-06-04 16:49:26 -04:00
andrew b28251c8b1 Add to corpus 2025-06-04 14:19:53 -04:00
andrew 3e2f830d0b Use new simd library for scanning string literals 2025-06-04 13:49:19 -04:00
andrew b5f41768a7 Scan for non-decimal in n_digits2 2025-06-02 12:47:34 -04:00
andrew 67634bb977 Remove unused constant 2025-05-30 17:10:42 -04:00
andrew b0dd034be8 Try loading dylib's too 2025-05-27 11:51:55 -04:00
andrew 7a3eb61868 Annotate all useTmp paths as unlikely 2025-05-27 10:37:09 -04:00
andrew 0027c9ff79 data -> userdata 2025-05-27 10:33:46 -04:00
andrew f6cd807da3 Remove on_{begin,end}_{string,number}
And add `done` arg to data callback
2025-05-25 21:01:37 -04:00
andrew f92b33eec3 Fix gcc, add -fno-jump-tables back
It's even faster for some reason
2025-05-25 16:59:43 -04:00
andrew 30129277e7 Fix some warnings 2025-05-25 16:29:22 -04:00
andrew 5971ad2ef0 Fix segfault issue
I think we need to keep a reference to the ctypes voidp object that we
pass as userdata alive
2025-05-24 18:20:36 -04:00
andrew f2fdcfdf24 Add linker.map 2025-05-24 18:20:36 -04:00
andrew d687a2671a Add valgrind headers 2025-05-24 18:20:36 -04:00
andrew aa2494c478 Add seemingly working python bindings 2025-05-24 18:20:36 -04:00
andrew 4240894318 Bring in a bunch of cmake settings from conflict-set 2025-05-24 18:20:36 -04:00
andrew 1217ded8a7 Convert everything to c api 2025-05-24 18:20:36 -04:00
andrew f7ad84a79a Start building library 2025-05-24 18:20:36 -04:00
andrew f519d3ce29 Add to corpus 2025-05-24 18:20:35 -04:00