Massive dict copying optimisation, read more

I simply pre-allocated the new dict to the right size. This skips
internal copying logic which was repeated on every expansion. This
Should increase scope copying as well.

I applied the same logic to arrays, but the increase in speed was tiny.
This commit is contained in:
2023-06-13 14:49:46 +10:00
parent 67fce427eb
commit 54e82846c3
2 changed files with 32 additions and 3 deletions

View File

@@ -0,0 +1,16 @@
fn identity(x) {
return x;
}
var dict: [int:int] = [:];
for (var i: int = 0; i < 1000; i++) {
dict[i] = i;
}
for (var i: int = 0; i < 100_000; i++) {
var x = identity(dict);
}