1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 10:57:35 +00:00
serenity/Userland/Libraries/LibRegex
Ali Mohammad Pur b8f03bb072 LibRegex: Make append_alternation() significantly faster
...by flattening the underlying bytecode chunks first.
Also avoid calling DisjointChunks::size() inside a loop.
This is a very significant improvement in performance, making the
compilation of a large regex with lots of alternatives take only ~100ms
instead of many minutes (I ran out of patience waiting for it) :^)
2021-12-21 22:10:07 +01:00
..
C LibRegex+LibC: Make re_nsub available to the user 2021-07-13 07:04:06 +02:00
CMakeLists.txt LibRegex: Add a basic optimization pass 2021-09-13 14:38:53 +04:30
Forward.h LibRegex: Don't push LibRegex's "Error" into the global namespace 2021-11-08 00:35:27 +01:00
Regex.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RegexByteCode.cpp LibRegex: Avoid calling DisjointChunks::size() in get_opcode() 2021-12-21 22:10:07 +01:00
RegexByteCode.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
RegexBytecodeStreamOptimizer.h LibRegex: Use a match table for character classes 2021-10-03 19:16:36 +02:00
RegexDebug.h LibRegex: Switch to east-const style 2021-07-23 21:19:21 +04:30
RegexError.h LibRegex: Disallow duplicate named capture groups in ECMA262 parser 2021-12-21 14:04:23 +01:00
RegexLexer.cpp LibRegex: Allow null bytes in pattern 2021-08-30 18:43:09 +02:00
RegexLexer.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
RegexMatch.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
RegexMatcher.cpp Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
RegexMatcher.h LibRegex: Merge alternations based on blocks and not instructions 2021-12-15 19:36:45 +03:30
RegexOptimizer.cpp LibRegex: Make append_alternation() significantly faster 2021-12-21 22:10:07 +01:00
RegexOptions.h Everywhere: Behaviour => Behavior 2021-09-07 13:53:14 +02:00
RegexParser.cpp LibRegex: Parse capture group names according to the ECMA262 spec 2021-12-21 14:04:23 +01:00
RegexParser.h Everywhere: Behaviour => Behavior 2021-09-07 13:53:14 +02:00