Bug 2037089 Comment 4 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Ok, that looks like the new changes upstream did little to improve the fragmentation. Per Bug 1739761, the English locale on 1.71 was 64 pages, which is more or less what we have here. 

Re upstreaming - unfortunately, I don't know. The patch was written by Bobby and I wasn't involved. From a cursory look at the patch, it looks like the idea was to use a bump allocator that would defer freeing to the time when all allocations are freed. This would certainly hold on to memory for a bit longer than the original code. I'm guessing this didn't matter for the Firefox use case, although I am not familiar enough with the code to know if that actually matters for upstream. 

Oh I forgot to mention --- we usually collect the "number of page" values from the opt build. The Wasm code when compiled without optimizations is much slower and heavier than the optimized versions. (Since we are doing a relative test here, I guess it shouldn't matter as long as both builds are opt or both are debug)
Ok, that looks like the new changes upstream did little to improve the fragmentation. Per Bug 1739761, the English locale on 1.71 was 64 pages, which is more or less what we have here. 

Re upstreaming - unfortunately, I don't know. The patch was written by Bobby and I wasn't involved. glandium may know? From a cursory look at the patch, it looks like the idea was to use a bump allocator that would defer freeing to the time when all allocations are freed. This would certainly hold on to memory for a bit longer than the original code. I'm guessing this didn't matter for the Firefox use case, although I am not familiar enough with the code to know if that actually matters for upstream. 

Oh I forgot to mention --- we usually collect the "number of page" values from the opt build. The Wasm code when compiled without optimizations is much slower and heavier than the optimized versions. (Since we are doing a relative test here, I guess it shouldn't matter as long as both builds are opt or both are debug)
Ok, that looks like the new changes upstream did little to improve the fragmentation. Per Bug 1739761, the English locale on 1.71 was 64 pages, which is more or less what we have here. 

Re upstreaming - unfortunately, I don't know. The patch was written by Bobby and I wasn't involved. glandium may know? From a cursory look at the patch, it looks like the idea was to use a bump allocator that would defer freeing to the time when all allocations are freed. This would certainly hold on to memory for a bit longer than the original code. I'm guessing this didn't matter for the Firefox use case, although I am not familiar enough with the code to know if that actually matters for upstream. 

(Also edited the documentation above to note we usually collect this in an opt build. Since we are doing a relative test here, I guess it shouldn't matter as long as both builds are opt or both are debug)
Ok, that looks like the new changes upstream did little to improve the fragmentation. Per Bug 1739761, the English locale on 1.71 without the arena was 64 pages, which is more or less what we have here. 

Re upstreaming - unfortunately, I don't know. The patch was written by Bobby and I wasn't involved. glandium may know? From a cursory look at the patch, it looks like the idea was to use a bump allocator that would defer freeing to the time when all allocations are freed. This would certainly hold on to memory for a bit longer than the original code. I'm guessing this didn't matter for the Firefox use case, although I am not familiar enough with the code to know if that actually matters for upstream. 

(Also edited the documentation above to note we usually collect this in an opt build. Since we are doing a relative test here, I guess it shouldn't matter as long as both builds are opt or both are debug)

Back to Bug 2037089 Comment 4