Benchmark of try/catch

davidl davidl at 126.com
Mon Mar 23 23:04:59 PDT 2009


在 Mon, 23 Mar 2009 16:59:47 +0800,bearophile <bearophileHUGS at lycos.com>  
写道:

> Part of the timings, seconds:
> N = 4_000_000:
>   C:       0.36
>   Java:    5.59
>   C++:     9.97
>   Psyco:  29.28
>   Python: 32.68
>   D:      48.76  SLOW=false
>   D:      88.45  SLOW=true
>
> You can find it here, with C/D/Java/C++/Python code too:
> http://leonardo-m.livejournal.com/78890.html
>
> I'd like to see timing comparisons on Linux between a Java reference and  
> LDC.
>
> And I'd also like to know why using printf changes the situation so much.
>
> Bye,
> bearophile

Your C, C++ code won't catch exceptions:

try
{
   char*p;
   *p=0;
}
catch
{
}

The mechanism of exception system is different. So the performance differs.

In MSVC, you have __try / try , they are different things. The split of  
exception is quite uncomfortable.
Though, it's quite fair tradeoff. You can't work out a better solution.



More information about the Digitalmars-d mailing list