IndexingMeasurement71

Contents

Scanning of Java Projects

Scanning of OpenJDK J2SE

   Indexing of Java Sources (63.6%)
       Parse(5.5%)
           IO(3.8%)
       Enter(2.2%)
       Analyze(33.5%)
       Generate(10.4%)
           IO(3.6%)	
       Html+Javascript (6.2%)
       Tasklist (11.7%)

Scanning of nb-javac

   Indexing of Java Sources (cold 45.4%, hot 45.1%):
       Parse (cold 6.4%, hot 3.1%)
           IO (cold 4.7%, hot 0.2%)
       Enter(cold 2.4%, hot 4.2%)
       Analyze(cold 23.0%, hot 21.7%)
       Process Annotations (cold 0%, hot 0%)
       Generate(cold 8,7%, hot 10.0%)
           IO (cold 2.7%, hot 3.2%)
   Html + Javascript (cold 8,1% + 0.9%, hot 13.5% + 1.6%)
   Tasklist (cold 4.5%, hot 6.1%)
   Lucene Index store (cold 1.5%, hot 2.5%)
   MimeType overhead (cold 0.1%, hot0.3%)
   TimeStamp check + list of files (cold 4.9%, hot 0.6%)
   Indexing of Jar files (cold 26.0%, hot 25.9%)

Scanning of java.source modules + dependencies

   Indexing of Java Sources (63.1%):
       Parse (13.2%)
           IO (10.4%)
       Enter(7.5%)
       Analyze(18.3%)
       Process Annotations (7.6%)
       Generate(10.9%)
           IO (4.3%)
   Html + Javascript (5.6% + 1.2%)
   Tasklist (8.4%)
   MimeType overhead (2.3%)
   TimeStamp check + list of files (0.6%)
   Indexing of Jar files (3.7%)

Up to date check java.source + dependencies

   Project queries	(13.7s)
   TimeStamp check + list of files (1.4s)
   Adding recursive listener (1.2s)
   Java Index Initialization (1.1s)
   CoS index initialization (1.7s)
   File index initialization (0,4s)
   Other indexer initialization (0.2s)

Scanning of Glassfish main with all required projects 2GB heap

   Indexing of Java Sources (40%)
   Compile On Save Indexer (Project queries) (20%)
   TaskList (10%)
   HTML (14%)
   TimeStamp check + list of files (3%)
   Preparation of indexers (3%)

Up to date check of Glassfish main with all required projects 2GB heap

   TimeStamp check + list of files (3.4%)
   Adding recursive listeners (2.5%)
   Compile On Save Indexer (Project queries) (29%)
   Binaries up to date check (17%) - spent mostly in ProxyBinaryIndexer
   Java Indexer initialization (5.7%)

Scanning of PHP Projects

Zend Framework

  PHP files: 4311
  HTML files: 273
  JS files: 1831
  CSS files: 259
  YAML files: 10
  JSON files: 12

Indexing took 120s

  PHP 28.7%
  HML 14.1% (12.2% in HTMLErrorFilter.filter())
  JS 3.5%
  CSS 1%
  YAML 0.1%
  TaskIndex 13.3%
  DataObject.find() 8.64%

Drupal

  PHP files: 108
  HTML files: 3
  JS files: 85
  CSS files: 123

Indexing took 36s

  PHP 33.8%
  HML 16.5% (14.6% in HTMLErrorFilter.filter())
  JS 4.7%
  CSS 3.5%

DataObject.find() 4%


Symfony + PHP HTML Documentation

  PHP files: 2104
  HTML files: 11726
  JS files: 3
  CSS files: 8

Indexing took 272s.

  PHP 4.8%
  HML 45.8%  (33% in HTMLErrorFilter.filter())
  JS 3%
  CSS 1.2%
  TaskIndexer 7.1%

Web project (UI only)

User-interface part of a J2EE application; backend was used from binaries. Maven based.

Contents:

  • Web content: roots = 21, JSP files= 978
  • java sources: 2703
  • HTML files: 0
  • Web descriptors: 2
  • JAR dependencies: 329
  • Maven projects: 44

Cached content (the entire project + MVN local repository was accessed and presumably in OS caches during the scan)

First open Subsequent opens
Phase Component / method Percent Notes Percent Notes
Scan Sources Total 55% 41.5%
Crawler 0.5% (850ms) 8% (11,066ms)
Java Indexer 22.7% SuperOnePassCompilerWorker: 14.2%

(enter: 6%, analyze: 3.3%, generate: 2.2%)

1.8%
JavaCustomIndexerFactory.scanStarted 3.26%
Compile on save 6.3% (16,881ms) 16% (21,550ms) SourceForBinaryQuery (15%)
Embeddings 6% 0%
Storing (I/O) 10.3% 0%
Scan Binaries Total 54% 54.2%
Java Binary Indexer 17.7% I/O 15.3% 3.1%
Spring Binary Indexer 31.2% SourceForBinaryQuery (28%; 86,472ms),

J2SELibrarySourceFBQ (15%), j2ee.deploymentSFBQ (9%)

18.4% SourceForBinaryQuery: (15.6%; 21,222ms), J2SELibrarySourceFBQ (7.8%), j2ee.deploymentSFBQ (5%)
getMimeType 3.2-8.2% I/O 2.6-6% 17.6%

Note: times from 'reopen' test are rescaled as if parsing took 100%; in fact, the profiler measured 33% waiting on lock - profiling was not stopped on time]

Enterprise application backend

Contents:

  • 72 java roots
  • java sources: 2889
  • HTML files: 19
  • Web descriptors: 2
  • JAR dependencies: 306
  • Maven projects: 97

Cached content (the entire project + MVN local repository was accessed and presumably in OS caches during the scan)

Subsequent opens
Phase Component / method Percent Notes
Scan Sources Total 42.2%
Crawler 0.6% (1,724ms)
addRecursiveListener 1.7% (4,764ms)
Compile-on-save 32.2% SourceForBinaryQuery.findSourceRoots (29.6%)
JavaCustomIndexer 3.8% URL.equals (1.5%, 4,526ms)
Scan Binaries Total 47.9%
ClassPath.findResource 43.8% Through SpringBinaryIndexer.findVersion
getMIMEType 2.5% (7,417ms)

RichFaces sources & examples

Contents:

  • 12 Web roots (applications)
  • Maven projects: 88
  • Source roots: 59
  • Java files: 3521
  • JAR dependencies: 170
First open Subsequent opens
Phase Component / method Percent Notes Percent Notes
Scan Sources Total 65.7% 25%
HtmlHintsProvider.computeErrors 27.2% (63,601ms)
RepositoryUpdater.storeChanges 17.1% I/O
Crawler 0.2% 2.65%
addRecursiveListener 2.15% (400 ms)
Compile-on-save 8% SourceForBinaryQuery.findSourceRoots (8%)
JavaCustomIndexer 12.4% SuperOnePassCompileWorker: 7.2%

SourceAnalyser.store: 4.6%

3.82%
Scan Binaries Total 17.5% 58.5%
getMIMEType 1.7% 39.7% (8,873ms) through ProxyBinaryIndexerFactory.supports()

AbstractFileObject.getInputStream (33.22%)

FileObject.getChildren() 0.6% 6.14%
LuceneIndex._store 11% I/O 6% I/O

Note: the percentage was scaled up for reopen; originally, the Parsing thread processing only took 60.2% of the time

There was another active thread during reopen, ErrorAnnotator worker':

  • live 60% of the time,
  • QuerySupport.findRoots() - 8.4%, 2,900ms
  • errors.Utilities.findIndexedRootsUnderDirectory - 37.2%, 13,500ms
    • SourceForBinaryQuery.findSourceRoots2() - 28.4%, 10163ms
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo