You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: