Here are a few findings on Multi-Read Exclusive-Write Synchronizer from a recent upgrade of DWScript‘s GlobalVar functions.
I ran some comparisons between a plain Critical Section, Delphi’s TMultiReadExclusiveWriteSynchronizer and Windows Slim Reader/Writer Lock, of which an implementation was added to the dwsXPlatform unit.
Delphi offers two ways of enumerating files in a directory and its sub-directories, the first is the classic (and buggy) FindFirst/FindNext, the second is IOUtils TDirectory.GetFiles and not very efficient.
Here is why and how I implemented DWScript‘s dwsXPlatform.CollectFiles, and a tip about getting a small system-wide boost as a bonus.
You may all know about String concatenation in Delphi, but do you know about the implicit String variables the compiler may create for you?
Along with the implicit variables come implicit exception frames, and a whole lot of hidden stack juggling, which can quickly become hidden complexity bottlenecks.
I’ve closed the mini-pool, below are the results, obtained after 500 respondents, as well as some other stats not obviously evident from the poll results (as it was a multi-choice poll).*
They’re of course only relevant as the measurement to the audience of this site.
…or at Work if your prefer.
This is a small poll to gauge the audience of this site,, try to answer about the environments you use for production, not for experimenting, testing or fiddling.
If you use several version, feel free to check as many entries as you feel are relevant.