[plt-scheme] Scheme productivity data point

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Sun Nov 8 10:15:09 EST 2009

FYI, a small Scheme productivity data point that I just blogged...

> Scheme Is Likely Fast Enough for You
> I needed to process a corpus of HTML files, which involved a bunch of 
> parsing, XPath-ing, simple pattern-matching, a little regexp-ing, and 
> HTML generation.
> Using PLT Scheme, Oleg Kiselyov's and Kirill Lisovsky's SXPath, Jim 
> Bender's sxml-match, HtmlPrag, and WebScraperHelper, I banged it 
> together in a day for a sample of the data, then spent another day 
> tweaking it to run through the entire corpus. Most of the second day 
> was due to some strangely bad HTML buried in some of the 40,000+ 
> files, and having to juggle remote computers.
> Afterwards, half tongue-in-cheek, I played fanboy for the benefit of a 
> colleague who still wants to do symbolic processing in C++, laboriously...
>> [...] The output files take less than 7% the space of the input files.
>> And, for people who think Scheme is slow... Wall clock time for the 
>> conversion (which was doing lots of parsing, XPath, simple 
>> pattern-matching, and a little regexp-ing) was only a little more 
>> than twice the wall clock time of "dd" doing comparable file I/O [to 
>> local disk on a fast machine]. I didn't bother to optimize the Scheme 
>> algorithms, nor compile it to native code. I used PLT Scheme, which 
>> isn't a particularly fast Scheme. At the end of a week, when I 
>> imagine that a Java or C++ programmer would finish coding, I suspect 
>> you'd find that the Scheme runtime performance compares favorably. :)
> I don't do much advocacy, but capturing even loose anecdotal evidence 
> of productivity boosts as they happen can be helpful.

Posted on the users mailing list.