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

Remove unnecessary inline in core #967

Closed
wants to merge 5 commits into from
Closed

Conversation

pakoito
Copy link
Member

@pakoito pakoito commented Aug 1, 2018

cc #966 && @trevorsummerssmith

When we started with the lib we liked inlines and crossinline because we thought it'd be efficient. It turned out to be a bytecode bloat instead, and it comes with bad interactions with coroutines.

This PR removes a bunch of gratuitous inline identifiers. I'm keeping the fold and constructor ones for now as they're mostly harmless.

@pakoito pakoito requested review from raulraja and a team August 1, 2018 22:27
@codecov
Copy link

codecov bot commented Aug 1, 2018

Codecov Report

Merging #967 into master will increase coverage by 0.33%.
The diff coverage is 86.66%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master     #967      +/-   ##
============================================
+ Coverage      46.7%   47.04%   +0.33%     
- Complexity      649      677      +28     
============================================
  Files           308      308              
  Lines          8012     8012              
  Branches        821      821              
============================================
+ Hits           3742     3769      +27     
+ Misses         3939     3911      -28     
- Partials        331      332       +1
Impacted Files Coverage Δ Complexity Δ
...s/core/arrow-core/src/main/kotlin/arrow/core/Id.kt 92.85% <100%> (+14.28%) 8 <3> (+2) ⬆️
.../core/arrow-core/src/main/kotlin/arrow/core/Try.kt 77.94% <100%> (+8.82%) 23 <4> (+4) ⬆️
...re/arrow-core/src/main/kotlin/arrow/core/Option.kt 73.33% <100%> (+15%) 30 <11> (+16) ⬆️
...re/arrow-core/src/main/kotlin/arrow/core/Either.kt 60.93% <60%> (+12.5%) 14 <2> (+6) ⬆️
...arrow-optics/src/main/kotlin/arrow/optics/Prism.kt 62.5% <0%> (+1.13%) 0% <0%> (ø) ⬇️
...arrow-data/src/main/kotlin/arrow/data/Coproduct.kt 65% <0%> (+5%) 7% <0%> (ø) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cb64e38...f62cf14. Read the comment docs.

@pakoito pakoito closed this Aug 2, 2018
@pakoito pakoito deleted the paco-nomoreinlineincore branch August 2, 2018 09:46
@pakoito
Copy link
Member Author

pakoito commented Aug 2, 2018

This is not the fix we need. We need to remove crossinline instead.

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

Successfully merging this pull request may close these issues.

1 participant