[jhc] Optimization.
Lemmih
lemmih at gmail.com
Fri Feb 15 18:52:30 EST 2008
On Sat, Feb 16, 2008 at 12:45 AM, John Meacham <john at repetae.net> wrote:
> On Fri, Feb 15, 2008 at 03:34:59PM +0100, Lemmih wrote:
>
>
> > The attached patch is a two-step optimization:
> > 1) Only call 'getType' 100,000,000 times instead of 600,000,000 times.
> > 2) Greatly simplify the actual loop.
> >
> > Without this patch, compiling base-1.0.hl takes 19 minutes. With this
> > patch, compile time is down to 11 minutes.
> > Feedback would be greatly appreciated.
>
> I am confused, what in the patch causes getType to be called less? As
> far as I can tell it is just replacing equality checks with 'isFoo'
> predicates.
E.Values.isCheap checks whether its argument is atomic. The 'isAtomic'
function is very expensive so I moved it down below the four static
checks.
--
Cheers,
Lemmih
More information about the jhc
mailing list