[gambit-list] fast csv parser (libcsv wrapped for gambit)
Bradley Lucier
lucier at math.purdue.edu
Fri Feb 9 17:33:21 EST 2007
On Feb 9, 2007, at 5:08 PM, Phil Dawes wrote:
> Bradley Lucier wrote:
>> On Feb 9, 2007, at 1:36 PM, Phil Dawes wrote:
>>> wrapped libcsv ~240ms
>>> Marc comma splitter ~510ms
>>> Phil Bewig csv parser ~1008ms
>>>
>> Just a question---did you compile the Scheme code with the usual
>> benchmark declarations
>> (declare (standard-bindings)(extended-bindings)
>> (block) ;; basically R6RS
>> (fixnum) (not
>> safe)) ;; I presume there's
>> only fixnum characters in a line ;-)
>
> Oops! - good point.
>
> That brings the Phil Bewig parser down to ~950 ms
Ah, not much.
What happens when you configure gambit with --enable-char-size=1 (the
default is 4). (I presume the C you're using has one-byte chars.)
Or you could give a URL for your data for others to play with.
(Next I would suggest doing line reads and stepping through the
characters locally without going through the trampoline required for
each call to read-char. It seems that doing your own line buffering
may be natural for this problem.)
Brad
More information about the Gambit-list
mailing list