This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: Some profile results: scm_sloppy_assq?
- To: Mikael Djurfeldt <mdj at mdj dot nada dot kth dot se>
- Subject: Re: Some profile results: scm_sloppy_assq?
- From: Dirk Herrmann <dirk at ida dot ing dot tu-bs dot de>
- Date: Wed, 14 Jun 2000 16:01:59 +0200 (MEST)
- cc: Jan Nieuwenhuizen <janneke at gnu dot org>, guile at sourceware dot cygnus dot com, "ir. Wendy" <hanwen at cs dot uu dot nl>, djurfeldt at nada dot kth dot se
On 14 Jun 2000, Mikael Djurfeldt wrote:
> scm_sloppy_assq is used to find the right key/data pair in a hash
> bucket. If a hash table is too small, or if the hash function
> performs poorly, this will result in long lists of key/data pairs in
> the hash table. This, in turn, will means more work for
> scm_sloppy_assq. (If the lists contain just one element, the work in
> scm_sloppy_assq will be almost zero.)
>
> Still, it seems strange. If I read your figures correctly,
> scm_sloppy_assq seems to dominate execution time. This could indicate
> some newly introduced bug.
I think scm_unprotect_object is broken: It decrements the CAR of the
handle, while in scm_protect_object the CDR is incremented.
Best regards
Dirk