Delphi 2009 – StringPerformance Redux

[Estimated Reading Time: 3 minutes] 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.

Delphi 2009 – CompilerVersion

[Estimated Reading Time: < 1 minute] Just a short post this one. Somebody else may already have mentioned this, but I only just figured it out for myself – the CompilerVersion for the Delphi 2009 compiler is not what you might expect (and is not what the documentation says it is!). Both CompilerVersion and RTLVersion have the value 20 in Delphi 2009. In Delphi 2007 these were 18.5 and 18.0 respectively.  Confusingly the documentation is correct for RTLVersion but incorrectly gives 18.0 as the value for CompilerVersion. Is anyone else wondering what happened to 19? Did Delphi 2008 happen after all and I just missed it?

Delphi 2009 – A Heads-Up for Low-Level Coders

[Estimated Reading Time: 8 minutes] Prompted by a conversation with some colleagues where-in we collectively speculated about the implementation details of a generic class and what impact – if any – this might have on performance vs a “traditional” polymorphic equivalent, I threw together a quick performance test case in my Smoketest framework, and as a result discovered a couple of significant changes in Delphi 2009 that created some unexpected problems.

Generic Methods and Type Inferencing

[Estimated Reading Time: 7 minutes] In the new Delphi forums recently, Barry Kelly responded to a question about lambda expression syntax in Tiburón with this observation: This syntax needs type inference. Our compiler was not originally written to support type inference, but work to support type inference is orthogonal to supporting anonymous methods. …  you’ll need to provide the full declaration type, for now. In other words – as I understand it – Tiburón/Delphi 2009 will not (initially at least) support type inferencing.  To my mind this dramatically reduces the attractiveness of Generic Methods.

Poll Time Again

[Estimated Reading Time: < 1 minute] With Delphi 2009 literally just around the corner, I thought it would be interesting to see how it’s impending release is being viewed. As a result, the poll answers are a little wordy this week for which I apologise, but I thought it would be interesting to try and gauge a detailed view of how people view the new version and how it will impact them.

Tiburón Releases On Monday!(?)

[Estimated Reading Time: < 1 minute] eWeek have a detailed article with quotes, attributions and pricing in which they state an August 25th (next Monday, by my reckoning) release date for Delphi and C++ Builder 2009! The Delphi blog-sphere is probably going to go into meltdown with this news and speculation as to whether it is accurate or not.  The indications were that the release wasn’t far off, but it’s much sooner than I think many were expecting, myself included.  I am also somewhat surprised that we didn’t hear about it first from CodeGear directly, certainly confirmation (or clarification) now is quickly needed.

Tiburón – What’s In A Name?

[Estimated Reading Time: < 1 minute] Providing a little light relief after the rather heavy series of posts on multicast events, a colleague recently asked me what Tiburón actually means.  So I looked it up. As well as being a town in California, it is also Spanish for shark.  I don’t know which derivation inspired the team at CodeGear, but it does raise the possibility that here in Aotearoa we could perhaps be referring to the forthcoming release of Delphi as Mangō, as this is the Maori for “shark”. Some additional trivia – from the little that I have picked up of the Maori language, “nui” in a name implies “big” or “large”, so the place name Mangonui (which crops up in a few places here) means “big shark”.