-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Task Edges Set/List #8624
Task Edges Set/List #8624
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
8 Ignored Deployments
|
🟢 Turbopack Benchmark CI successful 🟢Thanks |
Logs
See job summary for details |
7c6e61c
to
80088d7
Compare
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I read through the edges set implementation, but haven't gotten to reviewing how it's used yet.
pub fn into_set(self) -> TaskEdgesSet { | ||
TaskEdgesSet { | ||
edges: Box::new(self.edges.into_vec().into_iter().collect()), | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How common is this operation? I bet if we were clever we could do an optimization for the case where we're converting into a SmallVec
that avoids the iterator.
ee4dbb7
to
50a72da
Compare
4b8ad04
to
0520182
Compare
Thanks for making the suggested changes! The |
Tobias Koppers - fix typo (vercel/turborepo#8619) Benjamin Woodruff - Store aggregate read/execute count statistics (vercel/turborepo#8286) Tobias Koppers - box InProgress task state (vercel/turborepo#8644) Tobias Koppers - Task Edges Set/List (vercel/turborepo#8624) Benjamin Woodruff - Memory: Use `triomphe::Arc` for `SharedReference` (vercel/turborepo#8622) Will Binns-Smith - chore: release npm packages (vercel/turborepo#8614) Will Binns-Smith - devlow-bench: add git branch and sha to datapoints (vercel/turborepo#8602) --- Fixes a `triomphe` package version conflict between turbopack and swc by bumping it from 0.1.11 to 0.1.13.
### Description * Task children and dependencies are stored together in a single datastructure -> task edges * task edges is a map keyed by target task id and using a bitfield for common edges (child, output, cell 0) * removed lazy_remove_children feature flag -> this is always on now (Disabling it doesn't make sense as it negatively affects performance, we had the feature flag in case it it is broken, but seems fine) * When a task becomes Done, we use a Vec instead of a HashMap for better memory efficiency. It doesn't need to modified after that. ### Testing Instructions <!-- Give a quick description of steps to test your changes. --> --------- Co-authored-by: Benjamin Woodruff <benjamin.woodruff@vercel.com>
### Description * Task children and dependencies are stored together in a single datastructure -> task edges * task edges is a map keyed by target task id and using a bitfield for common edges (child, output, cell 0) * removed lazy_remove_children feature flag -> this is always on now (Disabling it doesn't make sense as it negatively affects performance, we had the feature flag in case it it is broken, but seems fine) * When a task becomes Done, we use a Vec instead of a HashMap for better memory efficiency. It doesn't need to modified after that. ### Testing Instructions <!-- Give a quick description of steps to test your changes. --> --------- Co-authored-by: Benjamin Woodruff <benjamin.woodruff@vercel.com>
### Description * Task children and dependencies are stored together in a single datastructure -> task edges * task edges is a map keyed by target task id and using a bitfield for common edges (child, output, cell 0) * removed lazy_remove_children feature flag -> this is always on now (Disabling it doesn't make sense as it negatively affects performance, we had the feature flag in case it it is broken, but seems fine) * When a task becomes Done, we use a Vec instead of a HashMap for better memory efficiency. It doesn't need to modified after that. ### Testing Instructions <!-- Give a quick description of steps to test your changes. --> --------- Co-authored-by: Benjamin Woodruff <benjamin.woodruff@vercel.com>
### Description * Task children and dependencies are stored together in a single datastructure -> task edges * task edges is a map keyed by target task id and using a bitfield for common edges (child, output, cell 0) * removed lazy_remove_children feature flag -> this is always on now (Disabling it doesn't make sense as it negatively affects performance, we had the feature flag in case it it is broken, but seems fine) * When a task becomes Done, we use a Vec instead of a HashMap for better memory efficiency. It doesn't need to modified after that. ### Testing Instructions <!-- Give a quick description of steps to test your changes. --> --------- Co-authored-by: Benjamin Woodruff <benjamin.woodruff@vercel.com>
Tobias Koppers - fix typo (vercel/turborepo#8619) Benjamin Woodruff - Store aggregate read/execute count statistics (vercel/turborepo#8286) Tobias Koppers - box InProgress task state (vercel/turborepo#8644) Tobias Koppers - Task Edges Set/List (vercel/turborepo#8624) Benjamin Woodruff - Memory: Use `triomphe::Arc` for `SharedReference` (vercel/turborepo#8622) Will Binns-Smith - chore: release npm packages (vercel/turborepo#8614) Will Binns-Smith - devlow-bench: add git branch and sha to datapoints (vercel/turborepo#8602) --- Fixes a `triomphe` package version conflict between turbopack and swc by bumping it from 0.1.11 to 0.1.13.
Description
Testing Instructions