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. bootstrap_jar_mapping.patch
        11 kB
        Pavel Pervov
      2. jarmapping.BCP.patch
        7 kB
        Naumova Natalya

        Issue Links

          Activity

          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          106d 19h 1m 1 Pavel Pervov 26/Mar/08 06:22
          Pavel Pervov made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          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.
          Pavel Pervov made changes -
          Patch Info [Patch Available]
          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.
          Pavel Pervov made changes -
          Attachment bootstrap_jar_mapping.patch [ 12377259 ]
          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.
          Pavel Pervov made changes -
          Assignee Pavel Pervov [ mcfirst ]
          Alexei Fedotov made changes -
          Link This issue is related to HARMONY-2436 [ HARMONY-2436 ]
          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.
          Pavel Pervov made changes -
          Summary [drlvm][startup][performance] mapping bootstrap jars directly into memory [drlvm][startup][performance][classloader] mapping bootstrap jars directly into memory
          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] .
          Naumova Natalya made changes -
          Summary mapping bootstrap jars directly into memory [drlvm][startup][performance] mapping bootstrap jars directly into memory
          Naumova Natalya made changes -
          Attachment jarmapping.BCP.patch [ 12371358 ]
          Naumova Natalya made changes -
          Field Original Value New Value
          Summary mapping bootstrap jar directly into memory mapping bootstrap jars directly into memory
          Naumova Natalya created issue -

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development