Blowing Smoke…

To alleviate the grind of polishing and sanitising my code (and, let’s be honest, just plain ‘fixing’ it in some cases) ready for release, I have re-kindled my participation on Stack Overflow. In a happy confluence yesterday a question came up which allowed me to exercise one of the libraries that I’m preparing to release: Smoketest.

The “Big Switch”

Much has been made in the past and again more recently, about the lack of a compiler switch in Delph 2009 to govern the behaviour of the String type. CodeGear have repeatedly said that it was not possible/practical to provide such a switch, but their advice to anyone concerned about a unilateral change from ANSI to Unicode string in their applications itself suggests that a switch was not only possible, but actually very simple to incorporate.  So much so that they could provide it even now without having to change anything already delivered in Delphi 2009 or committed to for Delphi 2010. Let me explain what I mean.

Delphi 2009 – StringPerformance Redux

It looks like I may have jumped the gun with my conclusions from the previous exercise to benchmark string performance in Delphi 2009.  Following a useful exchange in the comments with Kryvich I corrected a small discrepancy in the tests and made some changes to the performance testing subsystem within the SmokeTest framework.  I then re-ran my string performance benchmarks with some significant – and more encouraging – differences in the results.