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

Use atomic field updaters in selected Uni places #669

Merged
merged 4 commits into from Aug 31, 2021

Conversation

jponge
Copy link
Member

@jponge jponge commented Aug 31, 2021

  • Avoid allocating excessive amounts of AtomicReference instances
  • Improve abstraction over internal state of UniOperatorProcessor
  • Use further atomic field updaters in selected places (Uni)
  • Use CaS methods in UniOperatorProcessor

@jponge jponge changed the title uni atomic field allocations Use atomic field updaters in selected Uni places Aug 31, 2021
@jponge jponge added this to the 1.1.0 milestone Aug 31, 2021
@jponge jponge added enhancement New feature or request technical-debt Technical debt reduction labels Aug 31, 2021
@jponge jponge requested a review from cescoffier August 31, 2021 10:30
@jponge
Copy link
Member Author

jponge commented Aug 31, 2021

@Sanne You can review this

@codecov
Copy link

codecov bot commented Aug 31, 2021

Codecov Report

Merging #669 (5c7a7bc) into main (a526e97) will increase coverage by 0.12%.
The diff coverage is 86.66%.

❗ Current head 5c7a7bc differs from pull request most recent head e06ce7d. Consider uploading reports for the commit e06ce7d to get more accurate results
Impacted file tree graph

@@             Coverage Diff              @@
##               main     #669      +/-   ##
============================================
+ Coverage     89.85%   89.98%   +0.12%     
- Complexity     2976     2981       +5     
============================================
  Files           374      374              
  Lines         11752    11757       +5     
  Branches       1476     1476              
============================================
+ Hits          10560    10579      +19     
+ Misses          611      604       -7     
+ Partials        581      574       -7     
Impacted Files Coverage Δ
...ye/mutiny/operators/uni/UniOnCancellationCall.java 77.14% <77.77%> (+1.38%) ⬆️
.../smallrye/mutiny/operators/uni/UniRetryAtMost.java 77.50% <81.81%> (+1.18%) ⬆️
...allrye/mutiny/operators/uni/UniOnCancellation.java 85.18% <88.88%> (+1.18%) ⬆️
...rye/mutiny/operators/uni/UniOperatorProcessor.java 80.76% <90.00%> (+3.49%) ⬆️
...mallrye/mutiny/operators/uni/UniFailOnTimeout.java 81.63% <100.00%> (ø)
...lrye/mutiny/operators/uni/UniOnFailureFlatMap.java 80.00% <100.00%> (ø)
...utiny/operators/uni/UniOnItemOrFailureFlatMap.java 87.80% <100.00%> (ø)
.../mutiny/operators/uni/UniOnItemTransformToUni.java 83.33% <100.00%> (ø)
...mallrye/mutiny/helpers/queues/MpscLinkedQueue.java 90.32% <0.00%> (-8.07%) ⬇️
.../io/smallrye/mutiny/helpers/queues/DrainUtils.java 75.55% <0.00%> (-4.45%) ⬇️
... and 14 more

@jponge
Copy link
Member Author

jponge commented Aug 31, 2021

Supersedes #660

@jponge jponge mentioned this pull request Aug 31, 2021
3 tasks
Copy link
Contributor

@Sanne Sanne left a comment

Choose a reason for hiding this comment

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

Looks good!

@Sanne
Copy link
Contributor

Sanne commented Aug 31, 2021

I'll be testing it soon with the Techempower benchmark as well, but I see no reason to wait for it.

@jponge jponge merged commit ad3b1a4 into main Aug 31, 2021
@jponge jponge deleted the uni-atomic-field-allocations branch August 31, 2021 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request technical-debt Technical debt reduction
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants