Repository navigation
p1_display plotting performance improvements. - #444
Merged
Merged
Conversation
adamshapiro0
force-pushed
the
plot-perf
branch
from
October 6, 2026 15:24
c665114 to
65978df
Compare
bhers4
approved these changes
Oct 6, 2026
A long log can contain millions of InputDataWrapper messages, and unwrapping them completely in order to generate a summary can be very slow.
…array. numpy 2 raises instead of wrapping around when an unsigned array is built from a negative value, which the signed severity of a LOG event produced.
Plotly writes each value out as a literal date string, and Javascript's Date cannot represent the sub-millisecond digits that were being emitted.
…d one. Plotly only writes `plotly.min.js` into the output directory when it is not already there, so a directory written by an earlier run went on serving its original library no matter which version was installed.
A long log holds millions of per-signal objects that the plots never look at once the Numpy arrays exist, which accounted for a third of peak memory.
Plotly validates a list one element at a time, which dominated the signal status plot for a log with millions of signal observations.
Plotly 7 bundles a MapLibre build whose web worker is an ES module, which Chrome refuses to start from a `file://` page, leaving the map blank.
adamshapiro0
force-pushed
the
plot-perf
branch
2 times, most recently
from
October 7, 2026 13:40
780dbe1 to
c1e289f
Compare
adamshapiro0
force-pushed
the
plot-perf
branch
from
October 7, 2026 13:43
c1e289f to
4fc9e52
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New Features
InputDataWrapperMessage.count_wrapped_data()to total up wrapped packets by type straight from a file, without deserializing each messageChanges
MixedLogReaderprogress check call frequency__call__()operations with newlookup_value()functionp1_displaysummary reset event table generation speedGNSSSignalsmessages when not neededorjsonpackage for faster Plotly JSON encodingcustomdataacross multiple traces in a plotplotly.min.jsalongside the figures instead of embedding a copy in each one, so an individual plot file now needs the rest of the output directory to renderFixes
EventNotificationMessage.to_numpy()raisingOverflowErroron numpy 2 when a log event carries a negative severitylogger.trace()raisingTypeErrorwhen passed printf-style arguments<7to keep the generated map loading from disk (file://no longer works with Plotly 7)