Harmony
  1. Harmony
  2. HARMONY-5277 [startup][performance] general optimizations
  3. HARMONY-5281

[drlvm][startup][performance][classloader] mapping bootstrap jars directly into memory

    Details

    • Type: Sub-task Sub-task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: DRLVM
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      Bootstrap jar files mapping : we can deliver from a big amount of system calls (such as lseek, read etc) by mapping jars into memory via CreateFileMapping for windows and nmap for linux. Then we can work using pointer arithmetic only.
      The same can be done with classlib jars also..

      1. jarmapping.BCP.patch
        7 kB
        Naumova Natalya
      2. bootstrap_jar_mapping.patch
        11 kB
        Pavel Pervov

        Issue Links

          Activity

          Hide
          Pavel Pervov added a comment -

          Committed revision 641169.

          VM option vm.map_bootstrap_jars can be used to turn mmap functionality on.

          Show
          Pavel Pervov added a comment - Committed revision 641169. VM option vm.map_bootstrap_jars can be used to turn mmap functionality on.
          Hide
          Pavel Pervov added a comment -

          Please, note, that memory footprint of DRLVM will increase by size of JRE, namely, ~20 megs.

          Show
          Pavel Pervov added a comment - Please, note, that memory footprint of DRLVM will increase by size of JRE, namely, ~20 megs.
          Hide
          Pavel Pervov added a comment -

          Here is a platform independent implementation of this optimization. I'm going to commit it as soon as my commit queue gets to this JIRA.

          Show
          Pavel Pervov added a comment - Here is a platform independent implementation of this optimization. I'm going to commit it as soon as my commit queue gets to this JIRA.
          Hide
          Alexei Fedotov added a comment -

          Hello, Natalya,
          There are plenty of comments in your patch and they are hardly readable. I would really appreciate if you make some of these comments more descriptive, and remove those which may confuse a reader.

          Show
          Alexei Fedotov added a comment - Hello, Natalya, There are plenty of comments in your patch and they are hardly readable. I would really appreciate if you make some of these comments more descriptive, and remove those which may confuse a reader.
          Hide
          Vladimir Beliaev added a comment -

          The bootstrap processing is handled by classloader module, so the JIRA is better be named as [drlvm][classloader].

          Show
          Vladimir Beliaev added a comment - The bootstrap processing is handled by classloader module, so the JIRA is better be named as [drlvm] [classloader] .

            People

            • Assignee:
              Pavel Pervov
              Reporter:
              Naumova Natalya
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development