The Curiouser and Curiouser Case of Case-Insensitive Tweaks
Recent commits to the DWScript repository doubled the compiler performance when compiling many small scripts, like happens in the unit tests suites.
This started from a first profiling run where the memory allocations around the UnicodeLowerCase function came out as top bottlenecks.
Thing is, Pascal being a case-insensitive language, there are lots of case-insensitive comparisons, lookups, searches and hashes, and turns out a key hash code was computed with code like
Here I will share my current workflow for low-level optimization, which these days is basically a roundtrip between Delphi,
You may all know about String concatenation in Delphi, but do you know about the implicit String variables the compiler may create for you?