Benjamin_Braasc
I'm new here

Performante Ermittlung des IDProviders

Jump to solution

Hallo zusammen,

wir versuchen zu einer gegeben ID eines FirstSpirit Elements die zugehörige IDProvider Instanz zu ermitteln.

Wir gehen wie folgt vor:

-----------------

QueryAgent queryAgent = ctx.requireSpecialist(QueryAgent.TYPE);

Iterable<IDProvider> result = queryAgent.answer(“fs.id=” + id);

if (result != null) {

  Iterator<IDProvider> iHits = result.iterator();

     if (iHits.hasNext()) {

       IDProvider next = iHits.next();

       return next;

     }

}

-----------------

Wir haben festgestellt, dass der Aufruf von  hasNext() mindestens 200 ms in Anspruch nimmt.

Wenn wir hasNext() umgehen und direkt next() aufrufen, dann kostet next() mind. 200 ms.

Kennt Ihr einen performanteren Weg um an die zugehörige IDProvider Instanz zu gelangen?

Danke und viele Grüße

Benjamin

0 Kudos
1 Solution

Accepted Solutions

Hi Benni,

woher bekommt ihr denn die ID? Eventuell habt ihr ja noch ein wenig mehr Kontextwissen um das Element?

Wenn ihr zum Beispiel den Store kennt, könnt ihr über den StoreAgent den passenden Store holen und direkt nach dem Element mit der ID fragen.

Beste Grüße

Stefan

View solution in original post

0 Kudos
3 Replies
pavone
I'm new here

Hallo Benjamin,

bei einem kurzen Test habe ich sehr ähnliche Zeiten ermittelt. Ich persönlich kenne keine andere Methode, um nur anhand der ID ein Element zu finden.

Kommt ihr denn sicher nicht an mehr Informationen? Falls ihr an den Referenznamen und den Typ des Elements kommt, ist der StoreElementAgent eine performante Alternative (bei mir im niedrigen einstelligen Millisekundenbereich). Aber vielleicht hat jemand anderes ja noch einen kleveren Einfall...

Viele Grüße

Tim

0 Kudos

Hi Benni,

woher bekommt ihr denn die ID? Eventuell habt ihr ja noch ein wenig mehr Kontextwissen um das Element?

Wenn ihr zum Beispiel den Store kennt, könnt ihr über den StoreAgent den passenden Store holen und direkt nach dem Element mit der ID fragen.

Beste Grüße

Stefan

0 Kudos
Benjamin_Braasc
I'm new here

Hallo zusammen,

laut unserer Produktentwicklung sind wir nun über Store->getStoreElement(elementId) ca. um den Faktor 20 schneller geworden.

Vielen Dank für eure Hinweise, die uns auf den richtigen Weg gebracht haben!

Viele Grüße

Benni

0 Kudos