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

Improve README to clarify components of atomicfu #410

Open
mgroth0 opened this issue Mar 15, 2024 · 1 comment
Open

Improve README to clarify components of atomicfu #410

mgroth0 opened this issue Mar 15, 2024 · 1 comment
Assignees
Labels

Comments

@mgroth0
Copy link

mgroth0 commented Mar 15, 2024

Based on the confusion I was having as a new user in #407 and #370, I want to propose an addition to the README that I think will help other new users.

I had considerable confusion setting up atomicfu for the first time in my projects. Finally, after re-reading the README multiple times and getting support from multiple discussions, I think I figured it all out. But it was way more difficult than it should have been, in my opionion. I actually think it took me hours just to figure out the different components, and without help I don't think I ever would have figured it out.

I think this should make sure to clarify which components provide boxed and unboxed version of the atomics. Also the different versions.

I am imagining a table with three columns like so:

org.jetbrains.kotlinx:atomicfu-gradle-plugin This is the gradle and compiler plugin. It uses compiler magic to inline ("unbox?") the atomics. It introuces additional restrictions on how the atomics can be used. 0.23.2
org.jetbrains.kotlinx:atomicfu This is the normal library. It is added automatically by the gradle and compiler plugin. If this is added alone without the gradle and compiler plugin, then atomics can be used as normal boxes. It might have slightly worse performance, but there are no special restrictions on how atomics can be used. 0.23.2
org.jetbrains.kotlin:atomicfu (I don't know what this is, but users should know not to mix it up with the "kotlinx" component as I did...) 2.0.0-Beta4
@mvicsokolova
Copy link
Collaborator

Thank you for your comment, it's very helpful 🙏🏻! I'm gonna review the description of all the library components and plugin application in the README before the next release.

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

No branches or pull requests

2 participants