Skip to content
Commit a1b1b856 authored by Matt Wala's avatar Matt Wala
Browse files

Reduce the size of a recent update_persistent_hash() performance

regression.

The key builder (701dc4ed) added field
names to the hash key which ended up slowing things down.

Example (in pytential test suite, loads ~110 times from cache):

PYOPENCL_TEST=port \
time -p python test_layer_pot_eigenvalues.py \
"test_ellipse_eigenvalues(cl._csc, 1, 5, 3, False)"

* Prior to 701dc4ed:

    real 21.68
    user 21.06
    sys 2.03

* As of 701dc4ed:

    real 27.11
    user 26.59
    sys 1.94

* As of this commit:

    real 22.29
    user 21.90
    sys 1.86

This commit doesn't make everything as fast as it used to be because
pymbolic expressions are still stringified before hashing. However,
caching (#67) will eventually help with that too.
parent 701dc4ed
Pipeline #8629 passed with stage
in 13 minutes and 45 seconds