Charles KWON OhJun
5b378318a0
perf: RTL optimization — cached WA, spaces pool, stack-alloc fmt_int64
rdd.go:
- getWA() cached type assertion (avoid repeated interface check)
- waCache stores last WA pointer → O(1) for repeated calls
strings.go:
- spacesCache[257]: pre-built space strings for pad sizes 0-256
- spaces(n) returns cached string (no Repeat allocation)
- PadR/PadL use spaces() for fill=" " (most common case)
- Str() uses spaces() for right-padding
missing.go:
- fmt_int64: stack-allocated [20]byte array (was heap make([]byte))
- Reverse iteration (no prepend overhead)
- PadC uses spaces() for left/right padding
Benchmark (ext4, home dir):
10K APPEND: 28ms → 26ms (Harbour 27ms!)
50K APPEND: 130ms → 113ms (13% improvement)
50K SCAN: 24ms → 23ms
50K DUPKEY: 42ms → 35ms (17% improvement)
CDX SCOPE: 12ms → 10ms (17% improvement)
82/82 stress PASS. 14 packages ALL PASS.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 18:16:22 +09:00
..
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-04-06 14:08:51 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-04-02 15:33:07 +09:00
2026-03-31 09:41:50 +09:00
2026-04-01 10:17:30 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-04-06 12:21:26 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-04-07 18:16:22 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 10:07:42 +09:00
2026-04-07 18:16:22 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-04-06 12:21:26 +09:00
2026-03-31 09:41:50 +09:00
2026-04-02 22:33:59 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-04-07 18:16:22 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00
2026-03-31 09:41:50 +09:00