Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6176136

Hotspot Windows startup improvements: rebase, bind, XP prefetch

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Not an Issue
    • Icon: P3 P3
    • 6
    • 6
    • hotspot
    • generic
    • windows_xp

      There are a few opportunities for startup time improvement on Windows:

      1. rebase: Ensure that jvm.dll has a good base load address for common use cases (java.exe, IE6, Mozilla 1.4). Ideally, in most cases the system will be able to load jvm.dll at the base address without having to relocate the image and apply expensive fixups. We are probably already doing the right thing here, but it's worth checking.

      2. bind: Normally each time jvm.dll is loaded, the system loader iterates through all imported functions and looks up their addresses using a binary search on the name of the function. Binding writes the imported addresses permanently into the IAT for jvm.dll. Then, if the imported DLL gets loaded at its preferred base address, the import address search can be skipped, saving time.

      3. XP prefetch: Windows XP Cache Manager monitors page fault patterns for individual applications during application startup and persists the data in a trace file in the \Windows\Prefetch directory. If the trace file is found during startup, the memory manager prefetches any data and code specified in the file that's not already in memory. The idea is to prefetch everything the application needs at once, to avoid the scattered seeking and disk head movement that is common at startup time. We should ensure that this facility is in fact helping our startup time, and determine if the prefetch can be tweaked on a per-application basis to possibly get better performance.
      ###@###.### 10/8/04 13:18 GMT

            sbohne Steve Bohne (Inactive)
            sbohne Steve Bohne (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: