1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:08:12 +00:00

LibRegex: Use a match table for character classes

Generate a sorted, compressed series of ranges in a match table for
character classes, and use a binary search to find the matches.
This is about a 3-4x speedup for character class match performance. :^)
This commit is contained in:
Ali Mohammad Pur 2021-10-03 19:01:25 +03:30 committed by Andreas Kling
parent 478b36c37b
commit 8f722302d9
6 changed files with 232 additions and 35 deletions

View file

@ -7,12 +7,14 @@
#pragma once
#include "Forward.h"
#include <AK/Vector.h>
namespace regex {
class Optimizer {
public:
static void append_alternation(ByteCode& target, ByteCode&& left, ByteCode&& right);
static void append_character_class(ByteCode& target, Vector<CompareTypeAndValuePair>&& pairs);
};
}