~/talk

A deep dive into QML memory management internals

Talkat Qt World Summit 2015 · 2015-10-06..10-07· [javascript, web-platform]
links:none on file
slides:none on file

QML objects are allocated on the process heap and deleted deterministically via the QObject parent tree, while JavaScript values live on a separate V4 32 buckets heap (sizes 16–512B; >512B go to malloc). The V4 heap grows by doubling chunk sizes (now capped at 2MB since Qt 5.3) which used to produce 32–64MB jumps; values shrink from heavy QVariants to 8‑byte QV4 values. Garbage collection runs on the main thread as a stop-the-world mark-and-sweep, can free empty chunks back to the OS since 5.5, and is observable via qv4_mm_stats, Qt Creator profiler, and Valgrind/massif.

AI-written summary · about

  1. 0:00Intro
  2. 3:03Scope
  3. 4:37Memory management basics
  4. 5:55Heaps
  5. 8:05QML and JavaScript
  6. 8:52QML object types
  7. 10:16Creating QML objects
  8. 12:03QML defined properties
  9. 14:50QML garbage collectors
  10. 16:44QML objects
  11. 17:58JavaScript
  12. 18:50JavaScript type
  13. 23:54QML growth strategy
  14. 25:49Garbage collector
  15. 27:17Mock phase
  16. 28:34Sweep phase
  17. 30:24Garbage collector objectives
  18. 32:11Garbage collector after unloading
  19. 33:55Wrapup
  20. 36:05Questions
  21. 36:37Tools
  22. 37:36QML stats
  23. 39:41JavaScript timeline taps
  24. 40:48More to this
  25. 42:22Massive
  26. 44:47Wrap up
  27. 46:13Conclusion
~/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.