RVM

VM_Static and VM_Atom keys use ~540kb of the boot image

Details

  • Type: Improvement Improvement
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: Runtime
  • Labels:
    None
  • Number of attachments :
    0

Description

The space requirements for the keys used to access the hashmaps in VM_Atom and VM_Statics use up ~1.5% of the total boot image space (540kb). It would be nice to use a more memory efficient data scheme.

Issue Links

Activity

Hide
Ian Rogers added a comment -

We need to rethink the class loader data structures to implement class unloading.

Show
Ian Rogers added a comment - We need to rethink the class loader data structures to implement class unloading.
Hide
Ian Rogers added a comment -

r13978 attempts to do this and clean up VM_Statics, the space savings are:

development data size: -333kb
prototype data size: - 254kb

however, having non-final references added to VM_Atoms to track their corresponding Strings adds:

development reference map size: +16kb
prototype reference map size: +12kb

In terms of the speed changes due to the patch, having a string hanging off the literal avoids a hash map lookup, so the performance effect should be of the same order. The patch also adds literals to the intern table/map, which again could save time.

Show
Ian Rogers added a comment - r13978 attempts to do this and clean up VM_Statics, the space savings are: development data size: -333kb prototype data size: - 254kb however, having non-final references added to VM_Atoms to track their corresponding Strings adds: development reference map size: +16kb prototype reference map size: +12kb In terms of the speed changes due to the patch, having a string hanging off the literal avoids a hash map lookup, so the performance effect should be of the same order. The patch also adds literals to the intern table/map, which again could save time.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: