Commit Graph

13224 Commits

Author SHA1 Message Date
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
Kovid Goyal
a6da0ac6ca Log bad remote commands 2024-02-25 09:57:24 +05:30
Kovid Goyal
5c9aa6a21a json.loads() stupidly does not accept memoryview 2024-02-25 09:57:24 +05:30