Request for comments: std.d.lexer
Jacob Carlborg
doob at me.com
Fri Feb 8 07:30:39 PST 2013
On 2013-02-08 16:28, Dmitry Olshansky wrote:
> 08-Feb-2013 19:12, Jacob Carlborg пишет:
>> On 2013-02-08 16:08, Brian Schott wrote:
>>
>>> http://hackerpilot.github.com/experimental/std_lexer/images/times3.png
>>>
>>> Your suggestions seem to have worked. We're below 20ms on my machine for
>>> the datetime module.
>>
>> DMD is still consistently faster, :(
>>
>
> Keep in mind the D runtime start-up cost. In the end on small files DMD
> always wins because of slim C-runtime.
>
> To estimate runtime startup lag I've compared run times of
>
> int main(){ return 0; } in C (gcc):
>
> ------------------------
> Total time (ms): 31637.7
> Repetitions : 35000
> Sample mode : 0.8 (23649 ocurrences)
> Median time : 0.873
> Avg time : 0.903935
> Std dev. : 0.204107
> Minimum : 0.552
> Maximum : 9.057
> 95% conf.int. : [0.503892, 1.30398] e = 0.400043
> 99% conf.int. : [0.378189, 1.42968] e = 0.525746
> EstimatedAvg95%: [0.901796, 0.906073] e = 0.00213832
> EstimatedAvg99%: [0.901125, 0.906745] e = 0.00281023
>
> void main(){} in D (ldc):
> ------------------------
> Total time (ms): 15429.4
> Repetitions : 7000
> Sample mode : 2.1 (1785 ocurrences)
> Median time : 2.128
> Avg time : 2.2042
> Std dev. : 0.466834
> Minimum : 1.286
> Maximum : 19.933
> 95% conf.int. : [1.28922, 3.11918] e = 0.914978
> 99% conf.int. : [1.00171, 3.40668] e = 1.20248
> EstimatedAvg95%: [2.19326, 2.21514] e = 0.0109361
> EstimatedAvg99%: [2.18983, 2.21857] e = 0.0143724
> dmitry at dmitry-VirtualBox ~ $
>
> I think that the mode could serve as an indicator of the most probable
> outcome.
> For me it's around 0.8 vs 2.1 ms. D runtime rides on top of C one + plus
> the same OS costs to launch a process, so from now on let's keep in mind
> these extra ~ 1.3 ms of bias in favor of C-based lexer.
Ok, I see. But wouldn't it be more fair to compare either GCC to GDC or
Clang to LDC.
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list