Right now the master function in nci.c that figures out if we have a
thunking function for a given function signature does a linear search
looking for a match. This is pretty nasty and gets slower the more
functions are in the search list. What we should do is change the
code generator (as src/nci.c is generated) to build up a hash of
signatures with the corresponding function pointer for much faster
lookup.
--
Dan
--------------------------------------it's like this-------------------
Dan Sugalski even samurai
d...@sidhe.org have teddy bears and even
teddy bears get drunk
> Right now the master function in nci.c that figures out if we have a
> thunking function for a given function signature does a linear search
> looking for a match. This is pretty nasty and gets slower the more
> functions are in the search list. What we should do is change the
> code generator (as src/nci.c is generated) to build up a hash of
> signatures with the corresponding function pointer for much faster
> lookup.
Is there a particular hash lookup style you have in mind? If there's
something similar in the code already, I can copy, paste, and modify the
generator trivially.
-- c
You could look at what we do for class registration -- that code
might be similar. I don't think we've got too much at the C level
that messes around with parrot hashes yet, though.