Comments (1)
i've worked with circular buffers before.
there are a lot of places in the codebase that expect the arrays to be 0-indexed, so this isnt just a case of switching out the loop in one or two places -- it would need to be done everywhere. additionally, you lose the ability to work with these arrays using native functions, or the flexibility of variable length arrays across data updates, etc. then, you now have to build an circular buffer abstraction to do all the same stuff you get for free with plain arrays, and this abstraction is not free, you will pay for it in CPU time in exchange for the memory savings.
i don't think the juice is worth the squeeze here. i'm sure there are cases when this would be helpful, like millions of datapoints being updated frequently, but i dont think it's worth complicating everything just for these extreme cases.
https://github.com/leeoniya/uPlot?tab=readme-ov-file#unclog-your-rendering-pipeline shows a pretty good stress test, with streaming 3600 datapoints at 16ms (60fps). you can see the function that generates the data via slice() + concat is mostly a rounding error in the profile. i'm interested to see your specific use case and what savings you're expecting the proposed changes to yield.
from uplot.
Related Issues (20)
- Tooltip issue #question
- fix mouse interaction performance for 2,000 series HOT 1
- base 2 ranging and ticks without log scale
- Secondary sync demos not working HOT 6
- Ranger selection does not trigger mousemove event. HOT 5
- Click event on chart is 'destroying' existing selection
- Is it possible to create stacked bar charts that are grouped by year ? HOT 2
- what would be an approach to make groups of series? HOT 1
- Can I hide an axis but not the ortho lines? HOT 5
- Solution for adding padding within the canvas itself? HOT 2
- Setting Legend Markers using Paths HOT 1
- Seeking guidance on creating a dynamic chart with the following features HOT 2
- how do set bar with in uplot HOT 1
- Best practice to avoid clipped axis ticks' labels HOT 2
- Can we render Multicolor Bar charts(each bar has different color) using uPlot? HOT 6
- lineInterpolation not working HOT 1
- How set equal axis aspect ratio HOT 2
- Firefox 125 renders points on simple lines HOT 2
- Preserve chart / canvas with paths HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uplot.