Chris Pak
aaabfc5017
Expression: byte-walk parse_number and guard strip allocation
...
parse_number: replace INTEGER_REGEX/FLOAT_REGEX matching and
StringScanner loop with a single byte-walking pass using
ByteTables::DIGIT. Avoids MatchData allocation and StringScanner
reset on every call.
Expression.parse: only call String#strip when leading/trailing
whitespace is actually present (checked via ByteTables::WHITESPACE).
Avoids allocating a new String on ~4,464 calls per compile.
2026-04-05 20:53:53 -07:00
..
2025-11-19 18:03:23 +01:00
2020-12-09 10:06:02 -05:00
2022-10-27 11:13:50 -04:00
2025-11-28 15:51:48 -07:00
2024-10-28 17:33:55 -03:00
2023-02-15 08:40:59 +01:00
2026-04-05 20:53:53 -07:00
2026-01-05 14:54:43 -10:00
2024-08-07 15:00:44 -04:00
2025-10-30 15:33:07 -07:00
2024-08-07 15:00:44 -04:00
2020-12-09 10:04:34 -05:00
2026-01-01 20:22:19 -05:00
2025-11-19 18:03:23 +01:00
2024-01-12 12:17:20 -04:00
2026-04-05 20:53:53 -07:00
2019-09-18 13:19:45 +10:00
2019-10-21 21:18:48 +10:00
2023-02-14 10:34:15 -08:00
2026-01-01 20:20:50 -05:00
2019-09-18 13:19:45 +10:00
2025-10-30 12:00:44 +01:00
2025-11-19 18:03:23 +01:00
2024-11-04 15:35:45 -04:00
2025-11-19 18:03:23 +01:00
2025-10-30 12:00:44 +01:00
2023-06-23 18:48:07 -03:00
2020-12-09 10:06:02 -05:00
2025-01-07 14:32:46 -04:00
2022-05-04 17:25:53 -04:00
2026-03-18 11:54:46 -04:00
2026-03-25 16:46:47 +01:00
2022-07-21 12:34:41 -06:00
2023-02-14 10:34:15 -08:00
2025-10-27 16:33:31 +01:00
2025-11-19 18:03:23 +01:00
2019-12-17 21:45:08 -05:00
2025-11-19 18:03:23 +01:00
2026-01-01 20:20:50 -05:00
2019-09-18 13:19:45 +10:00
2026-01-01 20:22:19 -05:00
2026-01-01 22:06:22 -05:00
2025-11-19 18:03:23 +01:00
2026-03-18 11:54:46 -04:00