Q: Why perl is faster than d language? Simply program hello world program (bellow you have the code of D and of perl) is faster in perl (interpreted language) than in D (compiled lang). Why?
//D language (ldc compiler)

import tango.io.Stdout;
void main()
{
    int i=0;
    while (i<1000)
    {
     Stdout("Hola Món").newline;
     i = i+1;
    }
}

and
my $i = 0;
while ($i<1000)
{
    print "Hola Món\n";
    $i = $i+1;
}

and the time is:
time perl hello.pm 

real    0m0.047s
user    0m0.004s
sys 0m0.012s

time ./hola
real    0m0.070s
user    0m0.044s
sys 0m0.012s

Why?

A: It seems that code is 99% syscalls (printf), and perl probably optimizes the surrounding loop really well. I'd say try something more complex that doesn't rely so heavily on a single syscall.
Also, it makes sense for perl to be optimized for quick startup given its partial focus on complementing/replacing the Unix toolbox (sed, awk). So I would guess it's not surprising it performs better than other dynamic languages for compact programs like this one.

A: Perl uses an output buffer so  the code is not doing the same thing and your Perl program needs less syscalls.
Try $| = 1; in Perl to disable the output buffer, or use a stringbuilder in D to get more compareable results.
Additionally newline in D looks like a runtime function call that could be avoided. To get the maximum performance in D you could try to use static (compile time) functions and build the whole string at compile time.
