[petsc-dev] put options into hash table

Jed Brown jedbrown at mcs.anl.gov
Mon Nov 25 18:38:19 CST 2013


Barry Smith <bsmith at mcs.anl.gov> writes:

>    If we put all the options passed in into a hash table then won’t a
>    PetscOptions look up be pretty cheap, compute the hash, look in the
>    table, check that the strings match with a strncmp, done (usually)
>    and at worst do 2 or 3 string compares?

Yes, I have always thought that we should use a hash for the options table...

>    If we adopt the view that an options check is very cheap that we
>    don’t need to worry much about options being rechecked right?

... however, I don't think it changes the picture that we should move
options testing out of the fast path for algorithms.  The hash just
pushes the pain point down somewhat, most importantly, in a way that is
scalable in the total number of options in the options table.  But with
a big options table, it's still a lot of string hashing and a lot of
likely cache misses probing into the options hash.

I would like to make PETSc competitive for integrating 20-species
chemical systems, and I don't see room for string operations in that
world.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20131125/47cbf88c/attachment.sig>


More information about the petsc-dev mailing list