ladybird/Libraries
Jelle Raaijmakers 1745926fc6 AK+Everywhere: Use MurmurHash3 for int/u64 hashing
Rework our hash functions a bit for significant better performance:

* Rename int_hash to u32_hash to mirror u64_hash.
* Make pair_int_hash call u64_hash instead of multiple u32_hash()es.
* Implement MurmurHash3's fmix32 and fmix64 for u32_hash and u64_hash.

On my machine, this speeds up u32_hash by 20%, u64_hash by ~290%, and
pair_int_hash by ~260%.

We lose the property that an input of 0 results in something that is not
0. I've experimented with an offset to both hash functions, but it
resulted in a measurable performance degradation for u64_hash. If
there's a good use case for 0 not to result in 0, we can always add in
that offset as a countermeasure in the future.
2026-02-20 22:47:24 +01:00
..
LibCompress AK: Remove unused include from MemoryStream 2026-02-17 12:38:51 +00:00
LibCore Everywhere: Abandon Swift adoption 2026-02-17 10:48:09 -05:00
LibCrypto LibCrypto: Add ChaCha20-Poly1305 support 2026-01-26 10:03:09 +01:00
LibDatabase LibDatabase: Allow String values to contain embedded null bytes 2026-02-14 10:25:33 -05:00
LibDevTools LibJS: Add source locations to console.trace() 2026-02-06 11:58:07 +00:00
LibDiff CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibDNS LibDNS: Remove LibCore::DateTime dependency 2025-09-30 12:39:01 +02:00
LibFileSystem LibFileSystem: Remove unused TempFile class 2026-02-14 10:25:33 -05:00
LibGC LibGC: Take GC::Function's AK::Function as rvalue reference 2026-02-18 13:13:32 -06:00
LibGfx AK+Everywhere: Use MurmurHash3 for int/u64 hashing 2026-02-20 22:47:24 +01:00
LibHTTP LibHTTP: Simplify serializing a URL for cache storage 2026-02-18 12:52:19 -05:00
LibIDL LibIDL+Meta: Add support for WebIDL maplike declarations on interfaces 2026-02-17 12:25:27 +00:00
LibImageDecoderClient LibImageDecoderClient+LibWebView: Add animation session client API 2026-02-13 18:34:24 +01:00
LibIPC LibIPC: Allow passing arguments to system server connections 2026-02-15 15:25:30 -05:00
LibJS AK+Everywhere: Use MurmurHash3 for int/u64 hashing 2026-02-20 22:47:24 +01:00
LibLine Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
LibMain AK: Expose helpers to invoke Windows runtime config directly in main() 2025-10-29 21:07:52 -06:00
LibMedia LibMedia: Don't lock the main loop while initializing a media source 2026-02-18 13:13:32 -06:00
LibRegex AK+Everywhere: Use MurmurHash3 for int/u64 hashing 2026-02-20 22:47:24 +01:00
LibRequests LibWeb: Make FetchController's Requests::Request reference weak 2026-02-18 13:13:32 -06:00
LibSyntax LibSyntax: Include RefCounted in Document.h 2026-01-23 09:20:15 +01:00
LibTest LibWasm: Take call arguments and results on registers if possible 2026-02-02 14:11:49 +01:00
LibTextCodec LibTextCodec+LibWeb: Move isomorphic coders to LibTextCodec 2025-11-27 14:57:29 +01:00
LibThreading LibThreading: Run BackgroundAction error handlers on the origin loop 2026-01-28 15:36:33 -06:00
LibTLS LibTLS: Use Windows-specific method to set default certificate store 2025-08-23 18:35:45 -06:00
LibUnicode LibUnicode: Add Unicode case folding support for regex matching 2026-02-16 07:51:00 -05:00
LibURL Everywhere: Run clang-format 2026-02-18 08:02:45 -05:00
LibWasm LibWasm: Parse and validate array types 2026-02-10 13:00:16 +01:00
LibWeb LibWeb: Clarify the capture safety in HTMLMediaElement::fetch_resource 2026-02-20 12:46:17 -06:00
LibWebSocket LibCrypto+AK: Merge LibCrypto/SecureRandom into AK/Random 2026-01-23 15:53:27 +01:00
LibWebView test-web: Handle WebContent process changes during cross-site navigation 2026-02-20 11:41:28 -05:00
LibXML LibXML+LibWeb: Use existing HTML entities table for XML parsing too 2026-01-09 19:13:41 +00:00
CMakeLists.txt CMake: Remove ENABLE_WINDOWS_CI option and adjust presets to match Unix 2026-01-16 11:15:16 -07:00