-----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
-~----------~----~----~----~------~----~------~--~---

Reply via email to