Disable GC entirely

Simen Kjaeraas simen.kjaras at gmail.com
Wed Apr 10 11:32:22 PDT 2013


On 2013-04-10, 19:46, Paulo Pinto wrote:


> Manu, maybe something you might not be aware:
>
> - Smalltalk
> - Eiffel
> - Lisp
> - Java
> - Self
> - Dylan
> - Julia
> - Objective-C
> - JavaScript
>
> Are just a few examples of languages with virtual semantics for method  
> call. Some of those only offer virtual dispatch actually.
>
> Some of them were developed in an age of computer systems that would  
> make today's embedded systems look like High Performance Computing  
> servers.

The fact that successful languages have been created where virtual
dispatch is the default, or even the only possibility, does not mean
that virtual dispatch is not slower than non-virtual, nor, especially,
that this inefficiency might be a problem in some fields.

Sure, games have been written in most of these languages. AAA titles
today have somewhat stricter needs, and virtual dispatch by default is
most definitely a problem there.


> Julia is actually a new kid on block, hardly one year old, and already  
> achieves C parity in many benchmarks.

On their website (http://julialang.org/), they show two such benchmarks,
both of which seem to be exactly the kind where virtual dispatch is not
going to be a problem when you have a JIT.


> So I think how much could be a problem of D's compilers and not the  
> virtual by default concept in itself.

Look once more at that list. They're all dynamically typed, have JITs
or the like (possibly with the exception of Eiffel). In other words,
they do devirtualization at runtime.

-- 
Simen


More information about the Digitalmars-d mailing list