feat(#834): Run 'unroll' In Parallel #852
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In this PR I made
UnrollMojo
work in parallel. It significantly speeds up the entire goal.For example, for
phi-unphi
integration test we got the following results:Before (sequentially): 10s, 9s, 8s
After (with parallelism): 4s, 5s, 4s
Related to #834.
PR-Codex overview
This PR focuses on enhancing the
UnrollMojo
andUnroller
classes to improve the handling of PHI/UNPHI transformations, including logging improvements and adding new test classes. It also introduces a new dependency onSaxon-HE
for XML transformations.Detailed summary
net.sf.saxon.TransformerFactoryImpl
to theMETA-INF/services/javax.xml.transform.TransformerFactory
.Saxon-HE
dependency inpom.xml
.UnrollMojo
with logging for transformation counts and execution time.Unroller
:public
to package-private.unroll()
method to return the count of unrolled files.prepareThread()
method for setting class loader properties.A
,B
,C
, andD
insrc/it/phi-unphi/src/main/java/org/eolang/hone/mess
for testing purposes.