Closed PonteIneptique closed 3 years ago
Performance bottlenecks ordered by deepest units with own time
Performance bottlenecks ordered by time :
Nevertheless, the changes made to MyCapytain were worth it, as it will allow Nautilus to keep up to date with the original system while making some improvement, but also allow to run a graph store on top of it for real sparql query.
Few ideas in improvement : Have a "In-Memory" cache of some data using some kind of SparqlGenerator singleton (thanks to @MrGecko for the idea)
class InMemorySparqlCache(object):
def __init__(self, cache=None):
self.generated = {}
def generate_textgroup(self, identifier, *args, **kwargs)
if identifier not in self.generated:
self.generated[identifier] = self.classes["textgroup"](identifier, *args, **kwargs)
return self.generated[identifier]
This should be implemented on top of in memory metadata caching for SparqlCollection objects
Benched with #91
Ok, I had to check some stuff :
Here is the performance of the resolver (without cache) :
Obviously, both of them would be cached at the HTTP serving but this seems to be so much of a loss... I need to do more research about it as this benchmark does not take into account:
Stillm, there is an obvious need to improve this performance.