Kovid Goyal
|
0cd761808a
|
draw_codepoint is never called with from_inputstream=true
|
2024-02-25 09:57:30 +05:30 |
|
Kovid Goyal
|
43fb09dc39
|
Speed up Screen.draw
|
2024-02-25 09:57:30 +05:30 |
|
Kovid Goyal
|
c2d81d67c2
|
Nicer macros to ignore diagnostics
|
2024-02-25 09:57:30 +05:30 |
|
Kovid Goyal
|
272e944a13
|
DRYer
|
2024-02-25 09:57:30 +05:30 |
|
Kovid Goyal
|
a9f5519d11
|
Add tests for writing with cursor on trailer of wide char
|
2024-02-25 09:57:30 +05:30 |
|
Kovid Goyal
|
a055aaf035
|
...
|
2024-02-25 09:57:30 +05:30 |
|
Kovid Goyal
|
718f4b328f
|
Go back to a single code path for drawing text
Slightly reduces pure ASCII performance and improves Unicode
performance. We should be able to get pure ASCII performance back
via SIMD eventually.
|
2024-02-25 09:57:30 +05:30 |
|
Kovid Goyal
|
b41cf52ce4
|
ensure no control chars are drawn
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
e08e15a676
|
Ensure parser buffer is aligned to 64 bytes
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
c5f0b03a62
|
Remove not needed function
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
794bd85371
|
Ignore warning from simde on clang
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
73d657a21a
|
Dont use intel intrinsics switches on ARM
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
103f5f3956
|
Move ringbuf into 3rdparty
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
ef7d92a117
|
Update uthash from upstream
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
33102d8c4e
|
Move uthash into 3rdparty
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
56dcbca238
|
Move base64simd into a 3rdparty folder
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
cc6dc96c90
|
Allow setting benchmark options
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
2dffad1d8e
|
Use byteloader for printable char ranges
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
93430cd5f4
|
Images benchmark should not measure speed of zlib
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
3d0a90e63d
|
Switch to SIMD based base64
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
9eb91984dd
|
Cleanup benchmark warmup code
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
071c8200a6
|
...
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
ad7175a24d
|
...
|
2024-02-25 09:57:29 +05:30 |
|
Kovid Goyal
|
24232ba277
|
Ensure goroutine has started before sending data
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
0f6e5fe57e
|
Fix benchmark rate calculation
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
ef8e8313ab
|
For some reason, memcpy is faster than assignment
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
17cb65e981
|
Adjust amount of data in the benchmarks for more consistent timing
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
f2153f060d
|
add unicode benchmark
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
48c0b30671
|
Install simde on CI
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
e8f67281cf
|
Warmup font rendering before running benchmark
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
49a54b086f
|
Use simde so SIMD speedups work on ARM as well
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
4790959938
|
Use -fno-plt
We dont need the PLT and it frees up some registers
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
33249c872f
|
Use a better default march for binary builds
x86-64-v2 implies SSE4.2 which should be available everywhere by now. We
will see if we get errors with it.
https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level#architectural_considerations_for_rhel_9
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
71bf099041
|
Speed up drawing of printable ascii chars
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
307acb3f64
|
Add API to Screen to draw a set of printable ascii chars fast
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
e5675e9537
|
Simplify API
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
9cf425006f
|
...
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
c052831291
|
Dont double parse CSI digits
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
fe2cd543ba
|
Switch to same algorithm for 128bit SIMD as used for 256 bit SIMD
Avoids needing to write to the haystack and also less chance of a bug in
the never tested simd since all CPUs I have access to have AVX2
|
2024-02-25 09:57:28 +05:30 |
|
Kovid Goyal
|
1925d5ea65
|
Prepare for plain sse4 fallback
|
2024-02-25 09:57:27 +05:30 |
|
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 |
|