ladybird/Libraries/LibWeb/HTML/EventLoop
Andreas Kling a141c2c492 LibWeb+AK: Use AK::Queue for the microtask queue
The microtask queue is a pure FIFO (enqueue at back, dequeue from
front) but was using a Vector, making every dequeue O(n) due to
element shifting.

Replace it with AK::Queue which has O(1) dequeue. This makes a huge
difference when processing large numbers of microtasks, e.g. during
async-heavy JavaScript workloads where each `await` generates a
microtask.

Also add a for_each() method to AK::Queue so the GC can visit the
queued tasks.
2026-03-16 09:38:20 +01:00
..
EventLoop.cpp LibWeb+AK: Use AK::Queue for the microtask queue 2026-03-16 09:38:20 +01:00
EventLoop.h LibWeb+AK: Use AK::Queue for the microtask queue 2026-03-16 09:38:20 +01:00
Task.cpp LibWeb: Add "parallel queue" and allow it as fetch task destination 2025-07-17 00:13:39 +02:00
Task.h LibWeb: Add the Crypto task source 2025-12-28 18:56:50 +01:00
TaskQueue.cpp LibWeb: Don't run tasks in documents that haven't been BC associated 2025-12-27 16:40:34 +01:00
TaskQueue.h LibGC: Rename MarkedVector => RootVector 2024-12-26 19:10:44 +01:00