Looks like that run had more useful info. Your uses of `string-trim` and `fprintf` are probably worth investigating.
Vincent On Sat, 16 Jan 2016 21:01:22 -0600, Brian Adkins wrote: > > On Saturday, January 16, 2016 at 9:40:51 PM UTC-5, Vincent St-Amour wrote: > > Brian, > > > > The Racket profiler is an edge profiler. So in addition to telling you > > which code time is spent in, it's also telling you which callers caused > > which proportion of that time. > > > > In the case of [48], it's telling you that file output is a significant > > bottleneck, and that it's caused by the code at [2], [38], [39], etc. > > (as well as by recursive calls to `call-with-output-file`). > > > > As for the `for` ([49]), the loops at [40] and [37] are the main > > culprits. > > > > Based on that, you could try redirecting output to `open-output-nowhere` > > if you want to profile your computation (as opposed to output), or you > > could try batching your output (fewer, larger `printf`s instead of many > > small ones) to reduce the cost of output. > > > > Vincent > > Thanks. I used open-output-nowhere and got the following profile info: > > https://gist.githubusercontent.com/lojic/db6e02d0d9d88e1d5ced/raw/1002b6e6ee14f2c59b067abe6eac0488a3f2dc7a/profile.txt > > I was surprised that using open-output-nowhere is actually slower though !! > Runtime was 13,761ms vs. 10,258ms with real I/O. > > I'm going to follow up another thread I started a while back with more > performance info. > > It's definitely a CPU bound app (only able to write about 4 MB/s). Even the C > version (see other thread shortly) is CPU bound, and it's pushing 90+ MB/s to > disk. I have an SSD. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

