~/talk

JSON: push the limits

Talkat Я ❤ Фронтенд 2021 · on Saturday, 2021-02-27· [data-visualization]
slides:none on file

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

  1. 0:00Introduction
  2. 1:03Large JSON challenges
  3. 3:55Defining large JSON
  4. 7:09JSON operations testing
  5. 14:09Memory and time issues
  6. 14:52Streaming JSON
  7. 15:54JSON file streaming
  8. 17:20Streaming optimization
  9. 20:49Parsing JSON fragments
  10. 22:35Fragment parsing implementation
  11. 26:56JSON limitations summary
  12. 29:05JSON loading progress bar
  13. 32:16Memory optimization for loading
  14. 35:27Loading progress calculation
  15. 37:13Progress bar rendering issues
  16. 39:21Binary JSON representations
  17. 41:50Binary JSON prospects
  18. 42:11Conclusion
  19. 43:16Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.