wow_optimize v2.4.0
🆕 New Features
Phase 2: Runtime-Discovered Lua Fast Paths
The DLL now discovers C function addresses from Lua's global tables at runtime, calibrates the internal stack layout against a known reference (string.format), and installs optimized native replacements for 9 commonly called Lua library functions:
string.find(plain mode — skips pattern engine)type()(direct type tag → string lookup)math.floor,math.ceil,math.abs(direct FPU ops)math.max,math.min(2-argument fast path)string.len(direct length read)string.byte(single-byte fast path)
All hooks validate arguments and fall back to the original Lua implementation for edge cases. Real-world logs show substantial call counts (type ≈ 172k, math ≈ 5k in one session).
QueryPerformanceCounter Coalescing Cache
QPC calls within a 50µs window return the cached result instead of making a kernel call. Real-world hit rates measured at 93–99.8% depending on system, significantly reducing syscall overhead on the main thread.
🔒 Stability
- MPQ memory mapping disabled — caused crashes on HD/custom WoW clients. Code remains available for future test builds but is excluded from public releases.
- GlobalAlloc fast path remains disabled — caused crash-on-login in earlier versions.
- All other v2.3.0 optimizations retained and stable.
📋 Full Feature Set
Memory: mimalloc CRT + Lua VM allocator, string table pre-sizing, LFH, periodic purge
Lua: adaptive 4-tier GC, Phase 1 string.format + Phase 2 library fast paths, GC sync with LuaBoost
Timers: PreciseSleep, GetTickCount/timeGetTime→QPC, QPC cache, adaptive timer resolution, FPS cap 999
File I/O: MPQ tracking, read-ahead cache, sequential scan, FlushFileBuffers skip, GetFileAttributes cache
Threading: SRWLOCK cache, CriticalSection spin-first, TLS thread ID cache, priority tuning
Network: TCP_NODELAY, immediate ACK, QoS, buffer tuning, fast keepalive
Other: combat log optimizer, GetItemInfo cache, CompareStringA fast path, IsBadPtr fast path, periodic stats
📥 Installation
Copy version.dll + wow_optimize.dll into your WoW folder and launch normally.
Or use wow_loader.exe for injection-based loading.
Best used with !LuaBoost v1.9.2+.