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.
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,
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?
You may all know about String concatenation in Delphi, but do you know about the implicit String variables the compiler may create for you?