Skip to content

Slow initialization for VM map #669

Open
@qinsoon

Description

@qinsoon

Following our discussion in #632 (comment), after fixing the initialisation cost for SFT map in #632, our boot time is still significantly slower than the stock OpenJDK.

See the table below (from #632 (comment)):

Elapsed wall clock time (s) Maximum resident set size (kbytes) thread attach log time
Stock OpenJDK 0.17 60696 0.021s
MMTk - sparse chunk map (master) 0.52 839596 0.349s
... ... ... ...
MMTk - space map (PR) 0.30 314604 0.151s

perf suggests the time is spent in initializing the MMTk instance (MMTK::new()). I instrumented the method, and found that 93% of the time in MMTK::new() is spent in VMMap::new().

Our Map64 is a straightforward port of https://github.com/JikesRVM/JikesRVM/blob/master/MMTk/src/org/mmtk/utility/heap/layout/Map64.java from the Java MMTk. I am not familiar with the code, and I haven't looked further into the problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-heapArea: Heap (including Mmapper, VMMap)C-enhancementCategory: EnhancementP-normalPriority: Normal.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions