On Wednesday, 8 January 2014 at 22:55:24 UTC, bioinfornatics
wrote:
They are any conclusion about this ?
they are 10 page and most part talk about D gc…
It is concluded that C(and optionally C++ - depending on the
speaker) is inherently faster than anything else because C(++) is
a "portable assembly language" and therefore it encourages
writing fast software.
For example, most of real C(++) programmers preallocate large
blocks of memory space for future usage instead of allocating
space for single variables like most of programmers using the
discussed language. Cache locality gives a huge speed gains to
the former group, while the latter group gets diabetes because of
syntactic sugar. It's also worth noting that C(++) programmers
are using memory more efficiently because they only allocate and
deallocate memory only when needed - memory is reclaimed by OS as
fast as possible. This can't be achieved by garbage collection
which frees memory in batches.
C(++) is prefered over assembly because it's just as fast or even
faster than what would you write manually, yet it allows you to
focus on algorithms and data structures instead of low level
details of the machine like cache locality and memory layout.
Yet, you still retain full control - by using inline asm you can
regain some cycles wasted on adhering to calling conventions,
etc. C(++) macro language is superior to what NASM, FASM and
others have to offer - it's much simpler to use than those and it
serves as a prefered way of achieving robust compile time
polymorphism.
C(++) is designed to be simple and fast language. It can be
adopted easily in various architectures because of many undefined
behaviors (which leave wiggle-room for implementers) and lack of
runtime library - you can just use OS calls!
There's no way this language can beat C(++), don't even try to
fight with years of tradition. Simply join the cult!