Skip to content

Comments

Reorganize types and traits to deprioritize Vec streams#746

Open
frankmcsherry wants to merge 3 commits intoTimelyDataflow:masterfrom
frankmcsherry:deprioritize_vec
Open

Reorganize types and traits to deprioritize Vec streams#746
frankmcsherry wants to merge 3 commits intoTimelyDataflow:masterfrom
frankmcsherry:deprioritize_vec

Conversation

@frankmcsherry
Copy link
Member

Timely makes it easy, arguably too easy, to default to Vec container streams. They are a fine default, but the software architecture should have them as an opinion layered atop a common core, rather than the core routing around their opinions.

This PR attempts to deprioritize the vector-backed streams, renaming them StreamVec and migrating their extension traits to a vec module under operators, a peer to core rather than the default entry point. This is fairly disruptive, though there are pretty easy fixes in each case. Usually one can get what one wants by importing the vec flavored traits, though also using the core traits is not so bad with the .container::<Vec<_>>() annotation. Probably not how you want to start, but introducing the trade-off seems helpful.

The documentation needs revision, and many comments are no longer accurate. Many references to Stream still exist, StreamCore is still a thing, and tbd on just how terrible it looks to use. Much of the annotation annoyance comes from demo code that doesn't do anything, and the examples where something of consequence happens largely didn't need much change (the container types are clear, because nothing is so general that it works for all/many containers).

@frankmcsherry frankmcsherry force-pushed the deprioritize_vec branch 2 times, most recently from 25ba925 to ca2cd9f Compare February 22, 2026 23:07
@frankmcsherry frankmcsherry marked this pull request as ready for review February 23, 2026 03:03
Copy link
Member

@antiguru antiguru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Mostly a cursory look, but nothing fundamentally wrong here.

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.

2 participants