On 3/1/13 4:28 PM, cvk012c wrote:
On my hardware with -inline options it now takes about 15 secs which is
still slower than Python but with both -inline and -noboundscheck it
takes 13 secs and finally beats Python.
But I still kind of disappointed because I expected a much better
performance boost and got only 7%. Counting that Python is not the
fastest scripting language I think that similar Perl and Java scripts
will outperform D easily.

I doubt that.

1. Microbenchmarks are a crapshoot, they exercise a tiny portion of the language and library.

2. With Python, after comparing 2-3 idioms - well, this is pretty much it. We doubled the speed in no time by just tuning options. D being a systems language allows you take your code to a million places if you want to optimize.

3. split has been discussed and improved for years in the Python community (just google for e.g. python split performance). Perl isn't all that fast actually, try this (takes 30+ seconds):

$message = "REGISTER sip:comm.example.com SIP/2.0\r
Content-Length: 0\r
Contact:
<sip:12345@10.1.3.114:59788;transport=tls>;expires=4294967295;events=\"message-summary\";q=0.9\r
To: <sip:12...@comm.example.com>\r
User-Agent: (\"VENDOR=MyCompany\" \"My User Agent\")\r
Max-Forwards: 70\r
CSeq: 1 REGISTER\r
Via: SIP/2.0/TLS
10.1.3.114:59788;branch=z9hG4bK2910497772630690\r
Call-ID: 2910497622026445\r
From: <sip:12...@comm.example.com>;tag=2910497618150713\r\n\r\n";

foreach my $i (0 .. 10000000)
{
    foreach my $notused (split(/\r\n/, $message))
    {
    }
}


Andrei

Reply via email to