dice-group / IGUANA

IGUANA is a benchmark execution framework for RDF triple stores and quad stores
http://iguana-benchmark.eu
GNU Affero General Public License v3.0
24 stars 15 forks source link

Fix performance issues #241

Closed nck-mlcnv closed 9 months ago

nck-mlcnv commented 9 months ago

During a test of the new iguana version, I noticed that there were some severe performance issues during the processing of the results, after the stresstest has finished. The biggest issue of it was the jena library and the canonical method inside its XSDDuration class, which didn't support nanoseconds as decimal digits for the durations. This PR aims to circumvent this issue by creating our own LiteralType class, which might not be the best solution.

I've also made the QuerySource cache its hashCode, which also caused some performance issues, as the hashCode is needed everytime the id of a Query from a QueryHandler is retrieved. Caching the QuerySource hashCode shouldn't be a problem though, as we don't expect the hashCode to change itself during the benchmark.