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.
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 itsXSDDuration
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.