Skip to content

Conversation

@thoniTUB
Copy link
Collaborator

No description provided.

@thoniTUB thoniTUB self-assigned this Dec 10, 2025
@thoniTUB thoniTUB added backend java Pull requests that update Java code labels Dec 10, 2025
log.debug("BEGIN calculating for `{}`", concept.getId());
private static Map<ConceptElementId<?>, MatchingStats.Entry> calculateConceptMatches(ConceptId conceptId, Worker worker) {

try(Stream<CBlock> allCBlocks = worker.getStorage().getAllCBlocks()) {
Copy link
Collaborator Author

@thoniTUB thoniTUB Dec 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@awildturtok das getAllCBlocks() habe ich durch ein getAllCBlockIds() ersetzt

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ist das der Teil von dem du dir die Performance gains erhoffst?

Ich bin mir nicht sicher, was es erreichen soll. Du verschiebst die Operation ja nur. Wobei du vlt durch die äußere Concurrency eine bessere IO Verteilung hast?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bisher sind wir für jedes Concept über alle CBlocks gelaufen nur um hier die meisten zu skippen.

Jetzt skippen wir über die meisten Ids und resolven nur die CBlocks die auch zu den Connectoren des Concepts passen für das gerade die matching Stats laufen. Da das alles async/parallel ausgeführt wird hatten wir vorher auch nicht umbedingt einen seriellen IO weil jeder Task zu unterschiedlicher Zeit den Storage von vorne resolved hat.

Um den IO seriell zu machen müssten wir nicht in der äußersten Loop/Stream über die Concepts laufen sondern über die Cblocks. Dann könnten wir aber erst beim letzten CBlock die ersten MatchingStats zurückliefern.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ahhh, ich hatte nicht gesehen, dass das in einer schleife ist. Super

log.debug("BEGIN calculating for `{}`", concept.getId());
private static Map<ConceptElementId<?>, MatchingStats.Entry> calculateConceptMatches(ConceptId conceptId, Worker worker) {

try(Stream<CBlock> allCBlocks = worker.getStorage().getAllCBlocks()) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ist das der Teil von dem du dir die Performance gains erhoffst?

Ich bin mir nicht sicher, was es erreichen soll. Du verschiebst die Operation ja nur. Wobei du vlt durch die äußere Concurrency eine bessere IO Verteilung hast?

@thoniTUB thoniTUB enabled auto-merge January 6, 2026 14:07
@thoniTUB thoniTUB merged commit 7153d30 into develop Jan 6, 2026
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend java Pull requests that update Java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants