objectionary / jeo-maven-plugin

This Maven plugin converts Java Bytecode binary files to EOLANG programs that use the "opcode" atom
https://www.objectionary.com/jeo-maven-plugin/
MIT License
11 stars 3 forks source link

feat(#834): Speed Up The `vars-fload-down.xsl` Transformation #858

Closed volodya-lombrozo closed 1 week ago

volodya-lombrozo commented 1 week ago

In this PR I added useful logging of time for each transformation in UnrollMojo. Also I speed up the vars-float-down.xsl and add-refs.xsl transformations.

Timings for vars-float-down.xsl transformation before optimization:

[WARNING] XSL 'vars-float-down' took 172ms (over 100ms)
[WARNING] XSL 'vars-float-down' took 176ms (over 100ms)
[WARNING] XSL 'vars-float-down' took 168ms (over 100ms)
[WARNING] XSL 'vars-float-down' took 168ms (over 100ms)

after optimization:

[WARNING] XSL 'vars-float-down' took 40ms (over 20ms)
[WARNING] XSL 'vars-float-down' took 45ms (over 20ms)
[WARNING] XSL 'vars-float-down' took 37ms (over 20ms)
[WARNING] XSL 'vars-float-down' took 37ms (over 20ms)

Related to #834.


PR-Codex overview

This PR focuses on optimizing the unrolling process of XMIR files in the Unroller class, enhancing XSLT templates for better XML transformations, and updating the CanonicalXmir class to improve the handling of transformation paths.

Detailed summary

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

volodya-lombrozo commented 1 week ago

@rultor merge

rultor commented 1 week ago

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here.

rultor commented 1 week ago

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 11min).