25 Commits

Author SHA1 Message Date
Mitchell Hashimoto
132fbb3a46 unicode: use packed struct for break state 2024-02-09 20:29:36 -08:00
Mitchell Hashimoto
5f3574a4bf unicode: direct port of ziglyph to start 2024-02-09 19:44:57 -08:00
Mitchell Hashimoto
6437623500 bench/grapheme-break 2024-02-09 09:12:05 -08:00
Mitchell Hashimoto
fc459ad827 Merge pull request #1486 from mitchellh/unilut
Use precomputed lookup tables for even faster codepoint width computations
2024-02-08 21:51:33 -08:00
Mitchell Hashimoto
4834b8e925 remove utf8proc 2024-02-08 21:11:11 -08:00
Mitchell Hashimoto
f6e694bf80 bench: update codepoint-width 2024-02-08 21:10:06 -08:00
Mitchell Hashimoto
9755d0696e unicode: generate our own lookup tables 2024-02-08 21:01:11 -08:00
Qwerasd
68c0813397 terminal/stream: Added ESC parsing fast tracks 2024-02-08 21:49:58 -05:00
Mitchell Hashimoto
4ae41579da add utf8proc back for bench 2024-02-08 13:21:36 -08:00
Mitchell Hashimoto
17dc64053e terminal: swap codepointwidth implementations 2024-02-07 09:38:17 -08:00
Mitchell Hashimoto
3c31217f3c simd: minor tweaks 2024-02-07 09:28:56 -08:00
Mitchell Hashimoto
5692d39067 bench/codepoint-width: add wcwidth 2024-02-07 09:17:26 -08:00
Mitchell Hashimoto
88d81602fa simd/codepoint-width: wip 2024-02-06 22:28:26 -08:00
Mitchell Hashimoto
d4fa0fcabf bench/codepoint-width 2024-02-06 17:11:11 -08:00
Qwerasd
d96243fa5b bench/stream: script adjustments 2024-02-06 19:30:27 -05:00
Qwerasd
2db24fdd57 bench/stream: add gen-rand (arbitrary random bytes) 2024-02-06 19:29:06 -05:00
Qwerasd
b31099daf4 bench/stream: only generate benchmark input once, improve utf8 gen 2024-02-06 18:22:59 -05:00
Mitchell Hashimoto
03fceb81a5 move bench script 2024-02-05 21:22:28 -08:00
Mitchell Hashimoto
0c8dd34ea7 build: update build and comments 2024-02-05 21:22:28 -08:00
Mitchell Hashimoto
e88292f096 bench/stream: add utf8 2024-02-05 21:22:28 -08:00
David Rubin
a853277dbf make benchmarks more accurate
by adding a `--size` flag we make the size of buffers not comptime known, which prevents certain unrolling optimizations from happening.

secondly, `noinline` creates a more reproducable env for benchmarking by isolating the contents of the functions
2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
caf9405db0 bench/stream: add terminal option 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
b030663e03 bench/stream: benchmark for stream processing 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
f1227a3ebd build: get benchmarks building again 2024-02-04 20:27:53 -08:00
Mitchell Hashimoto
81fbc94b3c Add a benchmark exe for testing parser throughput 2022-11-13 11:29:05 -08:00