-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On Tue, Jan 20, 2009 at 12:03 PM, Corey O'Connor wrote: -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux)
iEYEAREKAAYFAkl2BTIACgkQvpDo5Pfl1oKhLQCeP4qtWl1PkoP8VyDLgoBSg3Hk JLcAn1QU9LH/mxW0V2APNFVOfNrrzIjs =0rwj -----END PGP SIGNATURE----- > > I have done some work optimizing the vty library. There is still > plenty of room for improvement. I think, though, there should be a > noticeable improvement. If you would like to help verify the > optimizations you'll need to install the vty package from it's darcs > repo. > > Three things: > 0) Some of the "optimizations" applied to vty are dangerous and > depends on ghc-prim. For instance. they can result in yi crashing if > the window is made too large. (How large is too large? Something like > 400 characters wide let's say) These type of optimizations, I think, I > can back out without impacting performance. They were applied to > simplify the core for various equations but I don't think the > simplifications really improved performance enough for the danger. > 1) One thing I have noticed is that the performance of the vty package > is *significantly* slower when the executable using vty is built with > profiling. In the vty benchmarks the difference can be as high as 10x > slower. For yi's case the performance difference is less but still > noticeable. > 2) The profiler doesn't exactly lie about where time is spent but > doesn't always give the expected results. The time and allocations > that appear to occur within a given cost center sometimes come from > thunks that are reduced within that cost center. Which can be > misleading since those thunks could have been produced elsewhere. > While adding strictness doesn't always result in better performance it > can place the cost of some thunks "closer" to their producers. Perhaps > I'm wrong here, but from my experience this is correct. > > Cheers, > Corey O'Connor Just to clarify: if we build yi the library with profiling, and yi the executable without profiling - would we still hit that major slowdown? (And on a side-note, is that a GHC bug? I had thought profiling an executable, when you weren't using it, cost you a few % but wasn't supposed to cost you a whole lot.) -- gwern --~--~---------~--~----~------------~-------~--~----~ Yi development mailing list [email protected] http://groups.google.com/group/yi-devel -~----------~----~----~----~------~----~------~--~---
