On 08 Jan 2009, at 19:01, Jürgen Hestermann wrote:

I doubt that. I often stumble over programs which are awfully slow (Novell Salvage Dialog for examples sometines needs many minutes to sort 80 "objects"!). And that compared with the everywhere heard statement "You don't need to think about performance, it's only important that it runs at all" makes me thinking. Many programmers simply don't know about how their mighty language functions perform and what they do in the background. But without knowing this you don't even have an idea of how fast it will be.

I also had such experience with Virtual Pascal where the FindFirst/ FindNext API functions are obscured by an extra layer to support multiple platforms (which I didn't know at first). I only wondered why my simple scan program for the creation date of files took 2 days on our server. After removing all the overhead by directly using FindFirst/FindNext from the windows API it boosted up to 6 hours only. Sure, many people don't care whether a program runs 2 days or 6 hours but I do.

These are examples of bad underlying implementations. In both of these cases the implementation can probably be optimised to deliver close to maximal performance. The evolution to more and more abstraction is simply because there are more and more different underlying platforms, and because the days that most programmers were able to take full advantage of the underlying platform are long gone. With the moves to system and process virtual machines, many-cores, cloud computing, accelerators etc. this is only getting worse.

Not to mention that going as low level as possible to get the last bit of performance will mean that you'll have to redo that work over and over again, unless you stay with one particular generation of one particular platform.


Jonas_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to