Yukihiro "Matz" Matsumoto
726d8febf3
mruby-regexp: cache Pike VM state in pattern to avoid per-exec malloc
...
Pre-allocate visited array and thread lists at compile time and
reuse them across re_exec calls. A cache_in_use flag detects
re-entrancy and falls back to malloc when needed.
Eliminates 3 malloc + 3 free per NFA execution for the common
non-re-entrant case. Combined with the literal fast path, brings
literal match? from 4.7x to 2.5x vs CRuby.
Co-authored-by: Claude <noreply@anthropic.com >
2026-04-23 19:25:34 +09:00
..
2025-10-16 09:59:03 +09:00
2026-01-25 15:46:56 +01:00
2026-03-09 16:50:58 +09:00
2026-01-14 14:56:50 +09:00
2025-10-16 16:54:25 +09:00
2026-01-25 16:04:23 +01:00
2026-03-09 16:50:58 +09:00
2025-10-16 17:02:23 +09:00
2026-04-23 18:59:05 +09:00
2025-12-11 18:09:09 +09:00
2026-04-15 09:01:19 +09:00
2025-12-11 18:09:10 +09:00
2026-04-19 21:17:18 +09:00
2026-03-09 16:50:58 +09:00
2026-04-23 19:25:23 +09:00
2025-12-11 18:09:10 +09:00
2026-03-09 16:50:58 +09:00
2025-12-11 18:09:10 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2025-08-14 10:52:49 +09:00
2026-04-23 19:25:26 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2025-12-11 18:09:06 +09:00
2025-12-11 18:09:09 +09:00
2026-04-23 19:25:25 +09:00
2025-12-11 18:09:07 +09:00
2026-04-23 19:25:21 +09:00
2026-03-09 16:50:58 +09:00
2025-11-08 14:26:49 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-04-13 13:11:27 +02:00
2026-03-24 22:16:15 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2025-06-24 13:56:07 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-04-13 13:11:27 +02:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-04-23 19:25:34 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-03-30 22:14:26 +02:00
2026-04-10 14:51:59 +09:00
2026-03-09 16:50:58 +09:00
2026-04-10 14:44:46 +09:00
2026-03-09 16:50:58 +09:00
2026-03-09 16:50:58 +09:00
2026-04-23 19:25:25 +09:00
2026-03-25 15:32:36 +09:00
2024-09-24 00:14:24 +10:00
2026-03-09 16:50:58 +09:00
2025-08-14 10:52:47 +09:00
2021-01-06 18:10:21 +09:00
2021-01-06 18:10:21 +09:00
2023-04-04 19:31:42 +10:00
2025-10-08 23:55:21 +09:00
2025-05-14 15:58:23 +09:00
2025-05-14 15:58:24 +09:00
2022-11-29 15:58:05 +09:00
2026-04-23 19:25:21 +09:00
2026-04-23 19:25:29 +09:00