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

Can the timeline be a immutable datastructure? #144

Open
jpmonettas opened this issue Feb 12, 2024 · 0 comments
Open

Can the timeline be a immutable datastructure? #144

jpmonettas opened this issue Feb 12, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@jpmonettas
Copy link
Member

Currently the timeline is implemented as a mutable list. The only reason for this is performance for recording. Transients can't be used because there is no event that signals the end of the tracing, so there is no place to call persistent!.

The problem with it being mutable is that then we need to synchronize for walking it, making it impossible to parallelize work there, like to use clojure.core.reducers/fold on the timeline.

I think it would be interesting to explore a combination of time batching and transients, to see if we can get an immutable recording but also fast insertion.

@jpmonettas jpmonettas added the enhancement New feature or request label Feb 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant