Skip to content

Conversation

@ringabout
Copy link
Member

@ringabout ringabout commented Aug 28, 2023

@ringabout ringabout changed the title deprecate std/threadpool; use malebolgia instead deprecate std/threadpool; use malebolgia, weave, nim-taskpool instead Aug 28, 2023
@juancarlospaco
Copy link
Collaborator

I think if we are going to ship 2 package managers with Atlas,
then the wording "Use Nimble X" should be changed to something "package manager agnostic" (?).

@ringabout ringabout mentioned this pull request Aug 9, 2023
12 tasks
@metagn
Copy link
Collaborator

metagn commented Aug 28, 2023

"Nimble package" means "package using the Nimble package format", which basically every Nim library is. Both package managers as well as other user package managers recognize the Nimble package format. "Use Nimble" is not necessarily implied.

@Vindaar
Copy link
Contributor

Vindaar commented Aug 28, 2023

Is it wise to recommend people use weave at this time? I've had lots of trouble since the switch to ARC/ORC with it unfortunately. Last I remember mratsim talking about it (back when ARC was still a bit off), support for it wasn't really there (at least not tested). Has that changed, @mratsim?

@mratsim
Copy link
Collaborator

mratsim commented Aug 28, 2023

Is it wise to recommend people use weave at this time? I've had lots of trouble since the switch to ARC/ORC with it unfortunately. Last I remember mratsim talking about it (back when ARC was still a bit off), support for it wasn't really there (at least not tested). Has that changed, @mratsim?

No change, I didn't test Weave with arc/orc. And it doesn't call destructors for sure.

I didn't test nim-taskpools either, but at least std/tasks that it relies on does call destructors.

@juancarlospaco
Copy link
Collaborator

The benefits of moving libs out of std... 😇

@arnetheduck
Copy link
Contributor

arnetheduck commented Aug 28, 2023

std/tasks is broken in that it allows exceptions to leak out from tasks and their destructors which breaks anything that builds on top of it but fixing it requires a backwards-incompatible change - taskpools no longer uses it for this and other reasons such as memory allocation, alignment needs etc - a type like Task has little chance of working well in std until the infrastructure around it exists in a stable form - it could for example be moved to malebolgia.

@Araq
Copy link
Member

Araq commented Aug 28, 2023

it could for example be moved to malebolgia.

Malebolgia is likely to use its own version of it, eventually...

@ringabout ringabout closed this Aug 29, 2023
@ringabout ringabout reopened this Aug 29, 2023
@Araq Araq merged commit a7a0105 into devel Aug 29, 2023
@Araq Araq deleted the ringabout-patch-5 branch August 29, 2023 13:00
@github-actions
Copy link
Contributor

Thanks for your hard work on this PR!
The lines below are statistics of the Nim compiler built from a7a0105

Hint: mm: orc; opt: speed; options: -d:release
169378 lines; 9.497s; 611.176MiB peakmem

narimiran pushed a commit that referenced this pull request Nov 8, 2023
… instead (#22576)

* deprecate `std/threadpool`; use `malebolgia` instead

* Apply suggestions from code review

* Apply suggestions from code review

* change the URL of inim

(cherry picked from commit a7a0105)
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.

8 participants