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

New package: TestNoAllocations v0.1.0 #92905

Merged

Conversation

JuliaRegistrator
Copy link
Contributor

Initial release

UUID: 4f9cea44-66d8-4d7b-9fef-fad96b0e1517
Repo: https://github.com/BloodWorkXGaming/TestNoAllocations.jl.git
Tree: b0f29d425e5f83bd13a88ef10c5fbd90c5b2fd4f

Registrator tree SHA: 7242ef64be5953fac9bf8b3efa3a7c4d2d44ca09
@JuliaRegistrator JuliaRegistrator temporarily deployed to stopwatch October 6, 2023 09:58 — with GitHub Actions Inactive
@github-actions
Copy link
Contributor

github-actions bot commented Oct 6, 2023

Your new package pull request met all of the guidelines for auto-merging and is scheduled to be merged when the mandatory waiting period (3 days) has elapsed.

Since you are registering a new package, please make sure that you have read the package naming guidelines: https://julialang.github.io/Pkg.jl/dev/creating-packages/#Package-naming-guidelines-1


If you want to prevent this pull request from being auto-merged, simply leave a comment. If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment. You can edit blocking comments, adding [noblock] to them in order to unblock auto-merging.

@PallHaraldsson
Copy link
Contributor

PallHaraldsson commented Oct 8, 2023

[noblock] EDIT: added this, see comment below.
Blocking for now. It's still great to see this!

I haven't had time to look at the package, I assume it does as intended just test.

I was thinking Dlang has @no_gc annotations, that blocks allocations; could you easily rather make sure that doesn't happen? It's nontrivial possibly, since it also means that you can only call such functions, i.e. those that at similarly annotated or I think if the compiler can proof no allocations.

And this is recursive. This is a functionality you may want to have or both, and then the name isn't the best.

If I don't see an answer here soon, I think I will unblock my comment. Your package would be registered today, maybe even soon? So sorry about blocking, I just think it's inconvenient to rename, or rather more so after registration...

@BloodWorkXGaming
Copy link

BloodWorkXGaming commented Oct 10, 2023

[noblock] Having a no_gc annotation would be really awesome, but only if it doesn't affect the performance. Could be possible with metaprogramming, however then it would still affect the first time till it runs once, if I am not mistaking.
Recursively checking for an @no_gc annotation would be easier, would however limit the possible function calls quite a bit, as it's not possible to annotate every non-allocating function.

While these are desirable features, am not too sure what would be the best way to approach it. I am open to idea's tho :)

@PallHaraldsson
Copy link
Contributor

PallHaraldsson commented Oct 10, 2023

[noblock]
I think I have an idea how to implement this (and no performance downside, no allocations; note also the awesome Bumper.jl), basically if a macro would rename my_function to _no_gc_my_function, and all its calls would be be changed to call functions with a prefix _no_go (there are more details). Since I have gotten in touch with you I'm unblocking the registration.

I need to run now, I can drop by your issue page, likely tomorrow to explain. If you really want to go through with registering this package, then you need to add [noblock] too to your comment here. I only blocked to get your attention. But then you're stuck with the name, so you may want to consider that. People can still add your unregistered package with ]add http://...

I do not really want to block you, i.e. get in your way, what you want to do, so I'm sorry for causing the minor delay if you go through with registering.

@BloodWorkXGaming
Copy link

BloodWorkXGaming commented Oct 10, 2023

[noblock]
Thanks for the insights and the tip for the Bumper.jl package, looks very awesome!
I would be happy if you drop more informations at my issue page, thanks!

As I don't need this package for any time critical project I am leaving it on blocked for now, till I decide to go further with it.
However I am currently not sure, whether the suggested changes by you aren't worthy of it's own package.
Especially considering the desire to have light dependency, which focuses on one thing (testing or disabling allocations outright).

But that being that, thank you for your help :)

Copy link
Contributor

This pull request has been inactive for 30 days and will be automatically closed 7 days from now. If this pull request should not be closed, please either (1) fix the AutoMerge issues and re-trigger Registrator, which will automatically update the pull request, or (2) post a comment explaining why you would like this pull request to be manually merged. [noblock]

@github-actions github-actions bot added the stale label Nov 10, 2023
@PallHaraldsson
Copy link
Contributor

PallHaraldsson commented Nov 10, 2023

[noblock]
Hi @BloodWorkXGaming if you want a light dependency, not with my suggested change, then that's fine.

I didn't block your package getting merged, you did by not including [noblock], but I can still drop on your page and discuss, I just forgot. There's not really any problem having your package, and then another BlockAllocations.jl or something like that. It's probably not to hard to make such, if your functions are concretely typed. When they are not, your code is generic, it might be really hard, e.g. code for Floats might be ok, but if you call with BigFloat then you should expect allocations, and I don't see a good way around that...

@github-actions github-actions bot removed the stale label Nov 11, 2023
@BloodWorkXGaming
Copy link

BloodWorkXGaming commented Nov 13, 2023

[noblock]

Hi @PallHaraldsson thanks for the headsup. No worries, I know you didn't block it, had very little time to work on it myself, which is why I hadn't unblocked it myself.

if you still up for it, I'd be happy to hear your thoughts on this topic on my page :)

@JuliaTagBot JuliaTagBot merged commit 070e37c into master Nov 13, 2023
@JuliaTagBot JuliaTagBot deleted the registrator-testnoallocations-4f9cea44-v0.1.0-3de649be5d branch November 13, 2023 17:43
@PallHaraldsson
Copy link
Contributor

Hi @BloodWorkXGaming I meant to drop by and discuss, but here is a similar new registered package, I think with all I proposed (and overlap with your package, or making it redundant?):

#95540

@BloodWorkXGaming
Copy link

Hey, thanks for the update! That seems like a very promising package!
And you are indeed correct, it might make my package redundant, incase the limitations are lifted (allocation on call). Till then I see it as an addon, like compile checks and runtime checks.

But I will continue to monitor the other package and I am happy that such a package exists in a more official group! :)

Thanks!

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

Successfully merging this pull request may close these issues.

5 participants