Files
junegunn--fzf/src
Junegunn Choi 92bfe68c74 Use a shared work queue instead of static partitioning in matcher
Replace static chunk partitioning (sliceChunks) with a shared atomic
counter that workers pull from. This gives natural load balancing;
workers that finish chunks quickly grab more work instead of idling.

With this change, NumCPU workers suffice (no need for 8x oversubscription),
reducing goroutine overhead while improving throughput by 5-22%.

Now the performance scales linearly to the number of threads:

=== query: 'linux' ===
  [all]   baseline:    17.12ms  current:    14.28ms  (1.20x)  matches: 179966 (12.79%)
  [1T]    baseline:   136.49ms  current:   137.25ms  (0.99x)  matches: 179966 (12.79%)
  [2T]    baseline:    75.74ms  current:    68.75ms  (1.10x)  matches: 179966 (12.79%)
  [4T]    baseline:    41.16ms  current:    34.97ms  (1.18x)  matches: 179966 (12.79%)
  [8T]    baseline:    32.82ms  current:    17.79ms  (1.84x)  matches: 179966 (12.79%)
2026-03-07 18:26:42 +09:00
..
2021-02-28 18:28:21 +09:00
2025-11-12 22:05:17 +09:00
2026-03-07 18:13:38 +09:00
2025-11-12 22:05:17 +09:00
2023-07-16 17:14:22 +09:00
2016-08-19 02:39:32 +09:00
2026-02-19 00:20:09 +09:00
2025-11-12 22:05:17 +09:00
2026-02-19 21:30:23 +09:00
2024-09-29 19:33:42 +09:00
2024-09-29 19:33:42 +09:00
2024-11-03 20:12:47 +09:00
2024-08-29 16:41:52 +09:00
2024-08-29 16:41:52 +09:00
2025-06-10 23:02:23 +09:00