Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimising XMLDocument for Better Performance #277

Closed
volodya-lombrozo opened this issue Dec 1, 2024 · 7 comments
Closed

Optimising XMLDocument for Better Performance #277

volodya-lombrozo opened this issue Dec 1, 2024 · 7 comments
Assignees
Labels

Comments

@volodya-lombrozo
Copy link
Contributor

volodya-lombrozo commented Dec 1, 2024

"I was working on optimizing the jeo-maven-plugin, which extensively uses XMLDocument to work with XML documents because it provides many useful methods. However, I noticed that using XMLDocument makes the plugin 10 times slower than using pure javax.xml. Here, you can find evidence. Replacing XMLDocument with plain javax.xml improves the plugin's performance by approximately 5-10 times.

I have profiling results that also show that most of the time the plugin spend on work with XMLDocument.
flamegraph-assemble.html.txt

Particularly:

  1. XMLDocument.<init> (constructor) ~ 48.95 %
  2. XMLDocument.xpath ~ 9.25 %
  3. XMLDocument.node ~ 7.99 %

Could you optimise XMLDocument, please?

@volodya-lombrozo
Copy link
Contributor Author

@yegor256 Could you take a look please?

@yegor256
Copy link
Member

yegor256 commented Dec 4, 2024

@volodya-lombrozo please, help here

@yegor256 yegor256 added the bug label Dec 4, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 4, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 4, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 4, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 4, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 5, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 5, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 5, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 5, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 5, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 5, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 5, 2024
volodya-lombrozo added a commit to volodya-lombrozo/jcabi-xml that referenced this issue Dec 5, 2024
yegor256 added a commit that referenced this issue Dec 5, 2024
feat(#277): Add `#deepCopy` And `#inner()` Methods Instead of `Node`
@yegor256
Copy link
Member

yegor256 commented Dec 5, 2024

@rultor release, tag is 0.32.0

@rultor
Copy link
Contributor

rultor commented Dec 5, 2024

@rultor release, tag is 0.32.0

@yegor256 OK, I will release it now. Please check the progress here.

@rultor
Copy link
Contributor

rultor commented Dec 5, 2024

@rultor release, tag is 0.32.0

@yegor256 Done! FYI, the full log is here (took me 22min).

@yegor256
Copy link
Member

@volodya-lombrozo this one may be closed?

@volodya-lombrozo
Copy link
Contributor Author

@yegor256 Yes, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants