5046 Commits

Author SHA1 Message Date
Mitchell Hashimoto
ae50f2ec97 Merge pull request #1481 from mitchellh/codewidth
SIMD Codepoint Width Implementation
2024-02-07 15:35:20 -08:00
Mitchell Hashimoto
4e2502c11e simd/codepoint-width: assertions for avx512 padding 2024-02-07 15:23:43 -08:00
Mitchell Hashimoto
e5c7d4e3ee simd: increase padding for avx 2024-02-07 14:43:08 -08:00
Mitchell Hashimoto
ae74117269 simd: use less vector ops for 16-bit 2024-02-07 14:31:06 -08:00
Mitchell Hashimoto
a69d3c7f1c simd/codepoint-width: split by 16-bit 2024-02-07 14:04:48 -08:00
Mitchell Hashimoto
24e18106ef Merge pull request #1480 from jcollie/hyperfine
add hyperfine to the nix development environment
2024-02-07 11:25:41 -08:00
Jeffrey C. Ollie
160f05395b add hyperfine to the nix development environment 2024-02-07 12:55:37 -06: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
46a887578a simd: remove ziglyph fallback 2024-02-07 09:21:33 -08:00
Mitchell Hashimoto
697fbe21ec simd/codepoint-width: reinclude correct file 2024-02-07 09:18:02 -08:00
Mitchell Hashimoto
5692d39067 bench/codepoint-width: add wcwidth 2024-02-07 09:17:26 -08:00
Mitchell Hashimoto
d949f1bd84 simd/codepoint-width: match ziglyph 2024-02-07 09:11:02 -08:00
Mitchell Hashimoto
acbc6f77e8 Merge pull request #1478 from qwerasd205/fix-c0
fix(terminal): send SI to execute instead of print
2024-02-06 23:12:24 -08:00
Mitchell Hashimoto
88d81602fa simd/codepoint-width: wip 2024-02-06 22:28:26 -08:00
Qwerasd
343cb9a334 fix(terminal): send SI to execute instead of print 2024-02-07 00:14:54 -05:00
Mitchell Hashimoto
d4fa0fcabf bench/codepoint-width 2024-02-06 17:11:11 -08:00
Mitchell Hashimoto
4e3fdf7243 Merge pull request #1477 from qwerasd205/improve-benchmarks
Benchmark improvements
2024-02-06 17:00:36 -08:00
Mitchell Hashimoto
b7c5fd4908 build: if emit-bench is on, do not emit exes
This isn't the cleanest approach yet. But this gets things going
quickly. Ideally longer term I want to be able to specify a list of
artifacts that you want to build or something like that.
2024-02-06 16:45:29 -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
ba2cd0d16b Merge pull request #1474 from jcollie/fish-completions
Generate fish command completions for Ghostty.
2024-02-06 08:56:23 -08:00
Mitchell Hashimoto
6eb24a1c67 fish: make generators non-pub 2024-02-06 08:55:54 -08:00
Mitchell Hashimoto
238f86dda5 Merge pull request #1475 from qwerasd205/fix-invalid-boundary-crash
Fix boundary utf-8 decoding crash
2024-02-06 08:46:21 -08:00
Mitchell Hashimoto
fdc67a08f4 terminal: add tests for incomplete utf-8, fix one bug 2024-02-06 08:45:41 -08:00
Qwerasd
689a521256 terminal: remove unused properties 2024-02-06 03:04:00 -05:00
Qwerasd
5769bb16dd fix(terminal): Fix boundary utf-8 decoding crash
Get rid of completePartialUtf8 and simply use the scalar parse (`.next`) to resolve boundary conditions instead.
2024-02-06 02:51:04 -05:00
Jeffrey C. Ollie
72b1084162 Do the fish completion generation with comptime during the build rather than building a standalone executable. 2024-02-06 00:04:36 -06:00
Mitchell Hashimoto
7256c8e091 Merge pull request #1472 from mitchellh/simd
SIMD Beginnings
2024-02-05 21:46:32 -08:00
Jeffrey C. Ollie
c55d5c383a Generate fish command completions for Ghostty. 2024-02-05 23:32:12 -06:00
Mitchell Hashimoto
dc6c52fac1 terminal: do not have the UTF8Decoder overhead if SIMD 2024-02-05 21:26:40 -08:00
Mitchell Hashimoto
8bbcf6821a pkg: remove unused files, add highway API to get targets 2024-02-05 21:22:28 -08:00
Mitchell Hashimoto
49f9059e0c nix: update cache hash 2024-02-05 21:22:28 -08: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
120273aa1a pkg/utfcpp 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
626d4170fe move simdutf to a pkg 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
5c39df3ab0 add clang-format for C++ 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
996517eb43 build: missing simdutf 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
12885a445a simd: remove old attempts 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
449d3b49a4 terminal: split input to fit output chunks 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
351d9eb402 terminal: use new VT simd to process slices 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
50e7159288 simd: implement utf8 decode until esc in C++ 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
c751619b7e terminal: use highway-based indexOf to support all targets 2024-02-05 21:22:26 -08:00
Mitchell Hashimoto
36b0db2a72 pkg/highway 2024-02-05 21:22:26 -08:00