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

Refactor to JCTools #1334

Closed
wants to merge 24 commits into from
Closed

Conversation

jponge
Copy link
Member

@jponge jponge commented Aug 4, 2023

Replace existing MPSC / SPCS queue implementations by using JCTools

@jponge jponge linked an issue Aug 4, 2023 that may be closed by this pull request
@jponge
Copy link
Member Author

jponge commented Aug 4, 2023

Todo:

  • Review the selected queue variants
  • Possibly use specialised variants through the Queues abstraction (e.g., *Unpadded* if Unsafe can be loaded, etc)
  • Make sure we don't use any implementation that doesn't work in native
  • Will need a JCTools 4.0.2 with JPMS module info
  • Shading? Could be an option, but JPMS modules will likely be a blocker (Mutiny module requires JCTools to compile, but then if it's shaded it must not be in the module-info anymore) ➡️ won't do, there's a next JCTools release with JPMS

@jponge jponge added enhancement New feature or request dependencies Pull requests that update a dependency file technical-debt Technical debt reduction labels Aug 4, 2023
@codecov
Copy link

codecov bot commented Aug 4, 2023

Codecov Report

Merging #1334 (5a45a72) into main (70f0f52) will increase coverage by 0.14%.
Report is 7 commits behind head on main.
The diff coverage is 79.78%.

❗ Current head 5a45a72 differs from pull request most recent head 994e55b. Consider uploading reports for the commit 994e55b to get more accurate results

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##               main    #1334      +/-   ##
============================================
+ Coverage     88.77%   88.92%   +0.14%     
+ Complexity     3342     3266      -76     
============================================
  Files           459      456       -3     
  Lines         13438    13218     -220     
  Branches       1655     1640      -15     
============================================
- Hits          11930    11754     -176     
+ Misses          840      813      -27     
+ Partials        668      651      -17     
Files Coverage Δ
...n/java/io/smallrye/mutiny/groups/MultiFlatten.java 100.00% <100.00%> (ø)
...e/mutiny/operators/multi/MultiCombineLatestOp.java 86.02% <100.00%> (+0.07%) ⬆️
...smallrye/mutiny/operators/multi/MultiEmitOnOp.java 92.38% <100.00%> (ø)
...mallrye/mutiny/operators/multi/MultiGroupByOp.java 83.25% <100.00%> (ø)
...smallrye/mutiny/operators/multi/MultiWindowOp.java 91.66% <100.00%> (ø)
...ny/operators/multi/builders/EmitterBasedMulti.java 94.33% <100.00%> (ø)
...y/operators/multi/processors/UnicastProcessor.java 95.68% <100.00%> (ø)
...smallrye/mutiny/infrastructure/Infrastructure.java 71.75% <95.83%> (+2.01%) ⬆️
...erators/multi/builders/BufferItemMultiEmitter.java 89.87% <93.75%> (-0.92%) ⬇️
...rators/multi/overflow/MultiOnOverflowBufferOp.java 83.62% <80.00%> (-0.46%) ⬇️
... and 1 more

... and 11 files with indirect coverage changes

@jponge
Copy link
Member Author

jponge commented Oct 19, 2023

Note: this scratchpad branch will never be merged, a clean commit will be eventually done

Copy link
Contributor

@franz1981 franz1981 left a comment

Choose a reason for hiding this comment

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

Few more comments, mostly naming, really, so feel free to ignore

@jponge
Copy link
Member Author

jponge commented Oct 25, 2023

Work continues in #1413, thanks again @franz1981

@jponge jponge closed this Oct 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file enhancement New feature or request technical-debt Technical debt reduction
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use JCTools queues
2 participants