[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] Axisp news
From: |
Stephen Wilson |
Subject: |
Re: [Axiom-developer] Axisp news |
Date: |
28 Jun 2007 22:42:37 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
Cliff,
C Y <address@hidden> writes:
> --- Stephen Wilson <address@hidden> wrote:
>
> > Any suggestions, preferences, comments, etc very much appreciated!
>
> It looks like Lift has had a new release within the last few days - it
> might be worthwhile to inquire if the performance issues have been
> ironed out since the comparison article was written? I agree it sounds
> very interesting but I think we should probably first figure out if the
> performance drop is something that can be avoided.
As you know, I discovered that Lift, despite initial measurements,
does not currently scale very well.
I discovered the principle bottleneck, and implemented a fix.
ASSEMBLE-TESTS is a macro which generates n assorted, simple minded
tests. Tests are run by default at the point of definition, and can
be re-executed at any time via RUN-TESTS.
*** Here are some timings from the original Lift:
>(time (assemble-tests 50))
real time : 7.520 secs
run-gbc time : 2.480 secs
child run time : 0.980 secs
gbc time : 0.390 secs
#<Test passed>
>(time (run-tests))
Start: LIFT-EXAMPLES-1
real time : 1.700 secs
run-gbc time : 0.450 secs
child run time : 0.000 secs
gbc time : 0.150 secs
#<Results for LIFT-EXAMPLES-1 [50 Successful tests]>
>(time (assemble-tests 100))
real time : 32.310 secs
run-gbc time : 14.580 secs
child run time : 0.000 secs
gbc time : 1.360 secs
#<Test passed>
>(time (run-tests))
Start: LIFT-EXAMPLES-1
real time : 2.410 secs
run-gbc time : 1.000 secs
child run time : 0.000 secs
gbc time : 0.170 secs
#<Results for NIL [100 Successful tests]>
*** And some timings with my optimization:
>(time (assemble-tests 100))
real time : 0.840 secs
run-gbc time : 0.310 secs
child run time : 0.000 secs
gbc time : 0.120 secs
#<Test passed>
>(time (run-tests))
Start: LIFT-EXAMPLES-1
real time : 0.700 secs
run-gbc time : 0.220 secs
child run time : 0.000 secs
gbc time : 0.130 secs
#<Results for LIFT-EXAMPLES-1 [100 Successful tests]>
>(time (assemble-tests 2500))
real time : 33.300 secs
run-gbc time : 14.740 secs
child run time : 0.000 secs
gbc time : 1.230 secs
#<Test passed>
>(time (run-tests))
Start: LIFT-EXAMPLES-1
real time : 14.470 secs
run-gbc time : 5.660 secs
child run time : 0.000 secs
gbc time : 0.850 secs
#<Results for LIFT-EXAMPLES-1 [2500 Successful tests]>
As you can see, we can now define 2500 tests in approximately the same
amount of time as 100 tests used to take.
There are other optimizations available, but I am not pressed to
implement them. I am fairly confident that we can use Lift to support
thousands of tests for Axiom.
I will submit a patch to the author of Lift, including this
optimization and the port to GCL. There are a few remaining wrinkles
to work out but should be able to have something soon-ish.
Take care,
Steve
- Re: [Axiom-developer] Axisp news, (continued)
- Re: [Axiom-developer] Axisp news, Ralf Hemmecke, 2007/06/26
- Re: [Axiom-developer] Axisp news, Stephen Wilson, 2007/06/26
- Re: [Axiom-developer] Axisp news, Ralf Hemmecke, 2007/06/26
- Re: [Axiom-developer] Axisp news, Stephen Wilson, 2007/06/26
- Re: [Axiom-developer] Axisp news, Martin Rubey, 2007/06/27
- Re: [Axiom-developer] Axisp news, Stephen Wilson, 2007/06/27
- Re: [Axiom-developer] Axisp news, C Y, 2007/06/27
- Re: [Axiom-developer] Axisp news, Stephen Wilson, 2007/06/27
- Re: [Axiom-developer] Axisp news, C Y, 2007/06/27
- Re: [Axiom-developer] Axisp news, Stephen Wilson, 2007/06/27
- Re: [Axiom-developer] Axisp news,
Stephen Wilson <=
- Re: [Axiom-developer] Axisp news, C Y, 2007/06/28
- Re: [Axiom-developer] Axisp news, Ralf Hemmecke, 2007/06/26