[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GC brokenness in `master'
From: |
Ludovic Courtès |
Subject: |
GC brokenness in `master' |
Date: |
Wed, 11 Mar 2009 00:52:34 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (gnu/linux) |
Hello,
address@hidden (Ludovic Courtès) writes:
> ("subr.bm: subr invocation: simple subr" 700000 total 0.98)
> ("subr.bm: subr invocation: generic subr" 700000 total 1.39)
> ("subr.bm: subr invocation: generic subr with rest arg" 700000 total 1.32)
> ("subr.bm: subr invocation: generic subr with rest arg and 3+ parameters"
> 700000 total 1.63)
"Interestingly", this is roughly twice as slow as 1.8 (!).
After some manual bisecting, I found the offending commit (dated
2008-08-16):
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=82ae1b8eb3413e6be6bd2aa032986fc7782e85ac
Right before this commit we get:
("subr.bm: subr invocation: simple subr" 700000 total 0.58)
("subr.bm: subr invocation: generic subr" 700000 total 0.96)
("subr.bm: subr invocation: generic subr with rest arg" 700000 total 0.91)
("subr.bm: subr invocation: generic subr with rest arg and 3+ parameters"
700000 total 1.05)
which is comparable with 1.8 (slightly slower).
With 1.8, we get:
("subr.bm: subr invocation: simple subr" 700000 total 0.52)
("subr.bm: subr invocation: generic subr" 700000 total 0.86)
("subr.bm: subr invocation: generic subr with rest arg" 700000 total 0.79)
("subr.bm: subr invocation: generic subr with rest arg and 3+ parameters"
700000 total 0.93)
With BDW-GC HEAD (i.e., after gsubr optimizations), we have:
("subr.bm: subr invocation: simple subr" 700000 total 0.65)
("subr.bm: subr invocation: generic subr" 700000 total 0.78)
("subr.bm: subr invocation: generic subr with rest arg" 700000 total 0.79)
("subr.bm: subr invocation: generic subr with rest arg and 3+ parameters"
700000 total 1.07)
Strangely enough, the "simple subr" case, which is not GC-intensive, is
slower with BDW-GC. This needs further investigation...
Thanks,
Ludo'.