![]() Compiler benchmark from our Open Source ORM framework When running our unit tests with Delphi 7, Delphi 2007 and Delphi 2010 compilers, I found out some speed improvement between Delphi 7 and Delphi 2007, but nothing noticeable between Delphi 2007 and 2010. Delphi 2010 generated code was found out to be even a bit slower, probably due to the overhead of RTTI and some caching issues. I don't have a Delphi XE compiler at hand, but I guess it's somewhat the same as Delphi 2010 - this latest version was mainly a bug fix release (e.g. About generics), AFAIR. I spent a lot of time in the asm view (Alt-F2) when I write low-level pascal code, and use a profiler. Delphi Compiler DiscountSo I usually notice any difference between Delphi compiler versions. IMHO the main improvement in the generated code was the inline keyword for methods and functions/procedures, available in Delphi 2007 and not in Delphi 7. Another improvement was a more aggressive register re-use. Floating-point generated code is still slow and sometimes awfull (the FWAIT is still produced, even if not necessary any more, and inlining floating-point code could be even!). What is interesting about our framework, and all those tests is that it does process a lot of data, using its own low-level units, coded in very tuned pascal for best performance. Filipino tongue twister tagalog. The unit tests provided (more than 5,400,000 individual tests) work on real data (numerical conversion or UTF-8 text processing), with a lot of diverse processes, including low-level conversions, text parsing, object allocations, multi-threading and Client/Server orientation. So here, the code generation by the compiler does make a difference. The process is run mainly inside our framework's libraries.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |