KCL's interpreter faced performance issues from copying entire program memory when defining functions (closures). Two solutions were implemented: first, a copy-on-write snapshot mechanism that makes creating snapshots O(1) instead of O(n); second, an epoch counter system inspired by MVCC that tracks value creation time and

13m read timeFrom ncameron.org
Post cover image
Table of contents
Background - how KCL program memory worksFirst iteration - snapshots| snapshot | a | b | c | d |Second iteration - epochs

Sort: