Commit 8aab96f5 authored by simonmar's avatar simonmar

[project @ 2001-11-27 12:18:11 by simonmar]

Add things I discovered on my last performance sweep (this was several
weeks ago).
parent 698b4d8b
......@@ -50,10 +50,22 @@ I found that there were some very bad loss-of-arity cases in PrelShow.
Net result: imaginary/gen_regexps more than halves in allocation!
Relies quite heavily on specialisations for Num (Complex Double). If
this test suddenly gets worse by a factor of 2 or so, chances are that
specialisation is broken.
Spectral suite
Relies heavily on having a specialised version of Complex.magnitude
(:: Complex Double -> Double) available.
In spectral/multiplier, we have
......@@ -118,6 +130,9 @@ Also, making concat into a good producer made a large gain.
My proto 4.09 still allocates more, partly because of more full laziness relative
to 4.08; I don't know why that happens
Extra allocation is happening in 5.02 as well; perhaps for the same reasons. There is
at least one instance of floating that prevents fusion; namely the enumerated lists
in 'transfer'.
......@@ -175,6 +190,10 @@ Sphere also does 60,000 calls to hPutStr, so I/O plays a major role. Currently
this I/O does a *lot* of allocation, much of it since the adddition of thread-safety.
Does a lot of IO.readFile.
Real suite
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment