1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 00:47:36 +00:00
serenity/Meta/Lagom/Tools/CodeGenerators
Timothy Flynn 456211932f LibUnicode: Perform code point case conversion lookups in constant time
Similar to commit 0652cc4, we now generate 2-stage lookup tables for
case conversion information. Only about 1500 code points are actually
cased. This means that case information is rather highly compressible,
as the blocks we break the code points into will generally all have no
casing information at all.

In total, this change:

    * Does not change the size of libunicode.so (which is nice because,
      generally, the 2-stage lookup tables are expected to trade a bit
      of size for performance).

    * Reduces the runtime of the new benchmark test case added here from
      1.383s to 1.127s (about an 18.5% improvement).
2023-07-28 05:28:50 +02:00
..
IPCCompiler IPCCompiler: Add option to pass output file path 2023-07-07 06:41:51 -04:00
LibEDID LibEDID: Ignore duplicate PNP IDs 2023-06-08 13:03:14 +02:00
LibGL AK: Propagate errors from SourceGenerator::fork() 2023-06-17 17:48:06 +01:00
LibLocale LibLocale: Avoid unnecessary HashMap copy 2023-05-19 22:33:57 +02:00
LibTimeZone LibTimeZone+Userland: Change timezone functions to use UnixDateTime 2023-05-24 23:18:07 +02:00
LibUnicode LibUnicode: Perform code point case conversion lookups in constant time 2023-07-28 05:28:50 +02:00
LibWeb LibJS+LibWeb: Move IteratorOperations.h AOs to Iterator.h 2023-07-19 14:11:43 +01:00
StateMachineGenerator AK: Propagate errors from SourceGenerator::fork() 2023-06-17 17:48:06 +01:00
CMakeLists.txt LibGL: Generate the API wrappers 2022-12-20 10:42:31 +01:00