-
New ram leak
I get a new ram leak I didn't have before.
It only shows when on cutting edge firmware (2v20.69) and pretokenization is used on upload.
So far I noticed it when fastloading from
spotrem
toedgeclk
.I have not looked closer on
spotrem
code yet to see if I could find the leak.Since fastloading from
spotrem
is made viafastload utils
which we explicitly state is experimental I'm aware this is maybe not a priority. But I think it makes sense to mention the change here at least.Memory usage increasing when switching between
spotrem
andedgeclk
, both pretokenized:>reset(); =undefined ____ _ | __|___ ___ ___ _ _|_|___ ___ | __|_ -| . | _| | | | | . | |____|___| _|_| |___|_|_|_|___| |_| espruino.com 2v20.69 (c) 2023 G.Williams >process.memory().usage; =966 >Bangle.load("edgeclk.app.js"); =undefined ____ _ | __|___ ___ ___ _ _|_|___ ___ | __|_ -| . | _| | | | | . | |____|___| _|_| |___|_|_|_|___| |_| espruino.com 2v20.69 (c) 2023 G.Williams >process.memory().usage; =2285 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =3398 >Bangle.load("edgeclk.app.js"); =undefined >process.memory().usage; =3519 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =4409 >Bangle.load("edgeclk.app.js"); =undefined >process.memory().usage; =4495 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =5385 >Bangle.load("edgeclk.app.js"); =undefined >process.memory().usage; =5471 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =6361 >Bangle.load("edgeclk.app.js"); =undefined >process.memory().usage; =6447 >
Memory usage increasing a lot when repeatedly fastloading just
spotrem
and it is pretokenized:>reset(); =undefined ____ _ | __|___ ___ ___ _ _|_|___ ___ | __|_ -| . | _| | | | | . | |____|___| _|_| |___|_|_|_|___| |_| espruino.com 2v20.69 (c) 2023 G.Williams >Bangle.load("spotrem.app.js"); =undefined ____ _ | __|___ ___ ___ _ _|_|___ ___ | __|_ -| . | _| | | | | . | |____|___| _|_| |___|_|_|_|___| |_| espruino.com 2v20.69 (c) 2023 G.Williams >process.memory().usage; =3058 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =4204 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =5177 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =6150 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =7123 >
Memory usage increasing only slightly (sometimes decreasing) when repeatedly fastloading just
spotrem
and it's not pretokenized:>reset(); =undefined ____ _ | __|___ ___ ___ _ _|_|___ ___ | __|_ -| . | _| | | | | . | |____|___| _|_| |___|_|_|_|___| |_| espruino.com 2v20.69 (c) 2023 G.Williams > >process.memory().usage; =999 >Bangle.load("spotrem.app.js"); =undefined ____ _ | __|___ ___ ___ _ _|_|___ ___ | __|_ -| . | _| | | | | . | |____|___| _|_| |___|_|_|_|___| |_| espruino.com 2v20.69 (c) 2023 G.Williams >process.memory().usage; =3268 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =4621 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =4624 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =4627 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =4630 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =4602 >Bangle.load("spotrem.app.js"); =undefined >process.memory().usage; =4636 >
Interesting, thanks! I can confirm it happens here too, I'll look into it. Please let me know if you notice anything else...