On 8/27/12 6:25 PM, J Baptist wrote:

Using ByteStrings and the C calls does indeed speed things up a bit, but not 
much.
real    0m6.053suser    0m1.480ssys     0m4.550s
For your interest:The original version (with Strings and openFile): 
http://hpaste.org/73803Faster (with Strings and c_open): 
http://hpaste.org/73802Even faster (with ByteStrings and c_open): 
http://hpaste.org/73801
The problem may be that even with ByteStrings, we are stuck using show, and 
thus Strings, at some point.
Ideas?

Don't use Show.

Show is only there for printing things at the REPL and has no place in performance-centric code. The bytestring-lexing[1] package has efficient functions for rendering integral numbers into ByteStrings[2]. And there are a number of other efficient ByteString renderers as well, such as blaze-builder[3].


[1] http://hackage.haskell.org/package/bytestring-lexing

[2] Albeit, they haven't been hyper-aggressively optimized (cf., readDecimal), but that's because I haven't run into the need for doing so. If you can demonstrate a real need, I'm willing to spend some time on it.

[3] http://hackage.haskell.org/package/blaze-builder

--
Live well,
~wren

_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to