New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SpaceTally logic should handle large images #5188
Comments
I think the idea is that the data would be less correct without it (even with doing a GC right before the instances that are just created for the report do change the result, but not that much). I think that a correct version would need to analyse the image "from the outside" to do a report... e.g. just on a dead image or via some VM level code that stops everything while counting. |
IIUC, on Linux the image is stored as mmap'd segments, so maybe
Half an example here [2] [1] https://linux.die.net/man/2/clone
|
Ps: I want to run it under Windows ;) |
The Spur VM provides an allObjects primitive which means one can collect all the data in one primitive and then do the analysis on that one collection with no GC necessary. I’m sure a full space tally of a 1Gb image implemented above the allObjects primitive would take much less than 10 minutes. |
Thanks for the pointer. |
Fixed in #6177 implemented following @eliotmiranda advice and works like a charm! |
In our image we have 200 000 classes, and a GC of 5 seconds. So, we need 11 days to run the following code: SpaceTally printSpaceAnalysis
The main question is that why do we need the GC in the middle?
The text was updated successfully, but these errors were encountered: