Commit graph

13226 commits

Author SHA1 Message Date
Kovid Goyal
aacdffd539
DRYer 2024-02-25 09:57:27 +05:30
Kovid Goyal
a0e1eb4985
AVX2 implementation for find either of two 2024-02-25 09:57:27 +05:30
Kovid Goyal
e4c48a5f17
Add AVX2 implementation of find byte not in range
Also fix alignment bug and ensure the simd finders dont return a pointer
beyond the end
2024-02-25 09:57:27 +05:30
Kovid Goyal
021dd168e5
... 2024-02-25 09:57:27 +05:30
Kovid Goyal
b032313c45
Only use SIMD if CPU supports it at runtime 2024-02-25 09:57:27 +05:30
Kovid Goyal
19a41b4d9a
Use sse4.2 instruction for normal mode printable ascii detection 2024-02-25 09:57:27 +05:30
Kovid Goyal
25e7a2882d
Work on using SIMD for normal mode dispatch 2024-02-25 09:57:27 +05:30
Kovid Goyal
a75fb6509e
... 2024-02-25 09:57:27 +05:30
Kovid Goyal
23c42cb555
... 2024-02-25 09:57:27 +05:30
Kovid Goyal
1f8feea454
Parse new data that is writtne while parsing is in progress in the parse loop
Avoids unnecessary memmove()
2024-02-25 09:57:27 +05:30
Kovid Goyal
f0afdc51af
... 2024-02-25 09:57:27 +05:30
Kovid Goyal
ac6afcb0a8
Release the parser IO lock while parsing 2024-02-25 09:57:27 +05:30
Kovid Goyal
ad7f671a7b
Add a long escape code benchmark 2024-02-25 09:57:27 +05:30
Kovid Goyal
4f67b8b433
Need -msse4.2 on non-native builds 2024-02-25 09:57:27 +05:30
Kovid Goyal
e3d6aa2c60
Use simd in a few loops 2024-02-25 09:57:27 +05:30
Kovid Goyal
89d416806b
... 2024-02-25 09:57:26 +05:30
Kovid Goyal
859b0cc585
Include -march=native for debug builds 2024-02-25 09:57:26 +05:30
Kovid Goyal
8b4209cb97
Also use fast find for pending mode 2024-02-25 09:57:26 +05:30
Kovid Goyal
8dca5a6b9a
... 2024-02-25 09:57:26 +05:30
Kovid Goyal
200e5bf6e3
Examine 8 bytes at once for terminator char 2024-02-25 09:57:26 +05:30
Kovid Goyal
f4819175b0
Start work on vectorizing searches 2024-02-25 09:57:26 +05:30
Kovid Goyal
5921ca1139
Add images benchmark 2024-02-25 09:57:26 +05:30
Kovid Goyal
dbc4b98742
Ignore input_delay when the input buffer is close to full 2024-02-25 09:57:26 +05:30
Kovid Goyal
822c9cb1d6
... 2024-02-25 09:57:26 +05:30
Kovid Goyal
529de9c91d
Allow specifying benchmarks to run on the command line 2024-02-25 09:57:26 +05:30
Kovid Goyal
7914523a16
Add a CSI + ascii test 2024-02-25 09:57:26 +05:30
Kovid Goyal
d39c71f927
Round the time to two digit precision 2024-02-25 09:57:26 +05:30
Kovid Goyal
934f2ede0b
Start work on simple benchmark tool 2024-02-25 09:57:26 +05:30
Kovid Goyal
8dbea2a046
... 2024-02-25 09:57:26 +05:30
Kovid Goyal
38c8100a76
... 2024-02-25 09:57:26 +05:30
Kovid Goyal
a560d86d0f
Use aligned loads for the byte loader 2024-02-25 09:57:26 +05:30
Kovid Goyal
47a493c090
Increase chunk size for graphics protocol since the VT parser now supports it 2024-02-25 09:57:25 +05:30
Kovid Goyal
35da87994b
Fix input_delay not working 2024-02-25 09:57:25 +05:30
Kovid Goyal
f49f2a1b82
Fix buf full -> not full reporting 2024-02-25 09:57:25 +05:30
Kovid Goyal
91c3492455
Allow logging code to log arbitrary length messages 2024-02-25 09:57:25 +05:30
Kovid Goyal
75872a1097
Dont need an extra variable 2024-02-25 09:57:25 +05:30
Kovid Goyal
4c267bdc24
Use a faster base64 implementation
From the Chromium source code BSD licensed
2024-02-25 09:57:25 +05:30
Kovid Goyal
409ca6bfab
Allow larger graphics escape code sizes 2024-02-25 09:57:25 +05:30
Kovid Goyal
56abcbf910
Remove unused base64 32bit functions 2024-02-25 09:57:25 +05:30
Kovid Goyal
f140b74f17
... 2024-02-25 09:57:25 +05:30
Kovid Goyal
8360a4ec53
Only reset urf8 state when transitioning into normal 2024-02-25 09:57:25 +05:30
Kovid Goyal
ccf124218b
... 2024-02-25 09:57:25 +05:30
Kovid Goyal
737d7bf8f2
Fix parse_sgr buf overread 2024-02-25 09:57:25 +05:30
Kovid Goyal
3f41b22011
Use the byte loader for normal mode 2024-02-25 09:57:25 +05:30
Kovid Goyal
43451b1287
... 2024-02-25 09:57:25 +05:30
Kovid Goyal
2914c2eb95
Use the byte loader for parsing CSI as well 2024-02-25 09:57:25 +05:30
Kovid Goyal
fc1775753a
... 2024-02-25 09:57:25 +05:30
Kovid Goyal
65aca5b140
Speedup utoi by loading numbers in 8 byte chunks 2024-02-25 09:57:24 +05:30
Kovid Goyal
e7c466797c
threading test for full buffer 2024-02-25 09:57:24 +05:30
Kovid Goyal
c66c0b8edc
threading tests for pending 2024-02-25 09:57:24 +05:30