JSON: push the limits
summary
Claims that processing huge JSON without holding the whole string reduces memory from gigabytes to tens of megabytes and removes main-thread jank. Uses Node/browser streams, TextDecoderStream and a custom chunked parser plus a streaming stringify implementation; avoids promises and intermediate buffers, counts bytes via a proxy ReadableStream for progress. On real workloads a 500 MB JSON drops from ~1 GB peak to ~30–112 MB and becomes processable in browsers and webpack; the streaming approach is implemented and shipped. streaming stringify chunked JSON parse
AI-written summary · about
chapters (19)
- 0:00Introduction
- 1:03Large JSON challenges
- 3:55Defining large JSON
- 7:09JSON operations testing
- 14:09Memory and time issues
- 14:52Streaming JSON
- 15:54JSON file streaming
- 17:20Streaming optimization
- 20:49Parsing JSON fragments
- 22:35Fragment parsing implementation
- 26:56JSON limitations summary
- 29:05JSON loading progress bar
- 32:16Memory optimization for loading
- 35:27Loading progress calculation
- 37:13Progress bar rendering issues
- 39:21Binary JSON representations
- 41:50Binary JSON prospects
- 42:11Conclusion
- 43:16Q&A
related talks
37mUsing small data in the client instead of big data in the cloud
51mFront End Data
27mScalable Data Visualization
29mGolang and JavaScript: The Future of Cloud
43mStorytelling in the Age of JavaScript
37mVisualizing Persistent Data Structures
28mJavaScript Journalism
48mHow to Analyze Terabytes of Data from GitHub Archive at High Speed
