Skip to content

Nexen v1.3.0 - Performance Optimization

Choose a tag to compare

@TheAnsarya TheAnsarya released this 03 Mar 18:01
· 1847 commits to master since this release

Nexen v1.3.0

Performance Optimization Release

This release includes 5 phases of performance optimization work (16.6-16.10) with benchmark-proven improvements across the entire emulation pipeline.

Highlights

  • Constexpr LUT + Copy Elimination — Base64 decode table is now constexpr (8.8x faster), member arrays converted to static constexpr, parameter passing by const-ref (66.3x faster extension set lookup)
  • Branch Prediction Hints[[likely]]/[[unlikely]] attributes applied to CPU/PPU/memory hot paths across all 7 emulated systems
  • String Allocation Elimination — In-place append(), reserve() + append() patterns, pre-reservation of known-size containers
  • Stringstream Elimination — Replaced stringstream with std::format for hex formatting, timestamps, and log joins (3.8x faster)
  • Performance Finding — MSVC std::format is 3.4x slower than operator+ for short strings; only use to replace stringstream

Internal Version

  • Core: 2.2.0
  • 20 commits since v1.2.0

Full Changelog: v1.2.0...v1.3.0