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