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