Closed iphydf closed 2 years ago
Please review carefully. I've tested it, but not super exhaustively (my application doesn't have mouse or other things). I haven't reviewed it myself yet, so I'll do that now as well.
Have you yet attempted a build with --enable-tests
?
Have you yet attempted a build with
--enable-tests
?
No, I'll try that now.
All test pass.
Okay, great. Let me know once you've finished your own review and I'll take a closer look (probably later today, or in the next few days at the latest).
I've finished my own review :).
This change is now released in 5.35.
NOTE: This breaks lots of internal APIs, many of which are actually exposed as public API.
brick
does not break, but client code that depends on constants containing escape sequences will need to adapt.Related to https://github.com/jtdaugherty/vty/issues/231. Doesn't fix it completely, but improves the situation.
There's really no point in using
[Char]
here. The first thing the code did was convert all the bytes individually toChar
and putting them into a linked list. Then, when actually parsing utf-8, it turns thoseChar
s back intoWord8
s. All the other code is generally concerned with bytes and goes out of its way to deal with[Char]
instead. The code is now simpler and much faster.Overall this gives another order of magnitude speedup over the previous speedup totalling roughly a 200x speedup over 2 commits ago for the 300KB case (it's less for smaller cases and much more for larger cases, because we already made one
n^2
algorithmn
).This does not fix the polynomial time complexity, but at this point we can comfortably paste a low number of megabytes into the terminal and process it reasonably quickly. This is sufficient to support small file uploads via bracketed paste.
Some timing: