[plt-scheme] Performance Targets for MzScheme
Could you please check whether the string tokenizer codes are written
in Python or Perl respectively? It is my impression that Python is just
a scripting language for C-libraries. -- Matthias
On May 12, 2004, at 8:25 PM, Brent Fulgham wrote:
>
> --- Matthias Felleisen <matthias at ccs.neu.edu> wrote:
>> For list-related administrative tasks:
>>
>> [matthias-ti:~/Desktop] matthias% mzscheme -r
>> test-gen.ss
>> [matthias-ti:~/Desktop] matthias% time ./testfile.py
>> 1.380u 0.090s 0:01.51 97.3% 0+0k 0+1io 0pf+0w
>>
> [ ... snip ...]
>> [matthias-ti:~/Desktop] matthias% time mzscheme -r
>> testfile.ss
>> 1.820u 0.160s 0:02.04 97.0% 0+0k 0+0io 0pf+0w
>>
>> Okay, we lose by either 4.5 or .4 depending on how
>> you count. That is
>> slower but not an order of magnitude.
>
> Excellent !
>
> It looks as though the culprit is string-tokenize. I
> also tried a regular-expression-based version and
> found it to be about an order of magnitude faster.
>
> For comparison:
>
> tokenize regular-expr
> Perl 2.5721 2.3654
> Python 1.8225 1.7576
> PLT Scheme 40.5884 3.6522
>
> This is with the naive do-ec implementation of the
> loop, not processing directly to the port (so there is
> room for improvement). The second set of numbers is
> much better.
>
> -Brent