Skip to content

Fix performance scaling problem in JS-embedder annotation scanner#8423

Merged
mbien merged 1 commit intoapache:masterfrom
mbien:js-embedder-perf-scaling
Apr 15, 2025
Merged

Fix performance scaling problem in JS-embedder annotation scanner#8423
mbien merged 1 commit intoapache:masterfrom
mbien:js-embedder-perf-scaling

Conversation

@mbien
Copy link
Copy Markdown
Member

@mbien mbien commented Apr 14, 2025

Reduced scan time from 102s to 13ms for a synthetic test file containing 10k inner classes with Override annotations (no javascript).

closes #8419

@mbien mbien added JavaScript [ci] enable web job and extra JavaScript tests (webcommon/javascript2.editor) Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) performance ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) labels Apr 14, 2025
@mbien mbien added this to the NB26 milestone Apr 14, 2025
@mbien mbien requested a review from lahodaj April 14, 2025 23:25
@mbien mbien requested a review from matthiasblaesing April 15, 2025 08:07
Copy link
Copy Markdown
Contributor

@lahodaj lahodaj left a comment

Choose a reason for hiding this comment

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

The goal seems OK, although producing the TreePath cheaper might (and should) lead to similar performance effect, without resorting to play tricks with trees, with all complexity that brings.

Reduced scan time from 102s to 13ms for a synthetic test file
containing 10k inner classes with Override annotations (no javascript).
@mbien mbien force-pushed the js-embedder-perf-scaling branch from 864e0c2 to ba7c010 Compare April 15, 2025 08:30
@mbien mbien changed the title Implement fast path for JS embedder annotation scanner Fix performance scaling problem in JS-embedder annotation scanner Apr 15, 2025
Copy link
Copy Markdown
Contributor

@lahodaj lahodaj left a comment

Choose a reason for hiding this comment

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

This looks good, thanks!

@mbien
Copy link
Copy Markdown
Member Author

mbien commented Apr 15, 2025

awesome. Thanks again for the review! merging for NB 26.

@mbien mbien merged commit 3c85270 into apache:master Apr 15, 2025
36 checks passed
@mbien mbien mentioned this pull request Jul 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) JavaScript [ci] enable web job and extra JavaScript tests (webcommon/javascript2.editor) performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

JSEmbeddingProvider is using up CPU time in java files without JS

2 participants