ooo-build r14820 - in trunk: doc patches/test



Author: michael
Date: Wed Dec 10 17:57:49 2008
New Revision: 14820
URL: http://svn.gnome.org/viewvc/ooo-build?rev=14820&view=rev

Log:
misc work.


Added:
   trunk/doc/installer.txt
   trunk/patches/test/speed-make-installer.diff

Added: trunk/doc/installer.txt
==============================================================================
--- (empty file)
+++ trunk/doc/installer.txt	Wed Dec 10 17:57:49 2008
@@ -0,0 +1,57 @@
+** make_installer.pl slowness **
+
++ why is it so bad ?
+
+--------
+
+* 20 seconds ++
+
+  1816320   0.74356  20.19000   337:   $newhash{$key} = ${$oldcollector}[$i]-
+
+	+ modules/installer/converter.pm - convert_array_to_hash
+		- 1.8 million calls [ 20 seconds ]
+
+--------
+
+* 30 seconds ++
+
+  1215650   4.33675  20.69000  2383:  if ( $allitems =~ /\b$itemgid\b/i )
+
+modules/installer/scriptitems.pm:sub get_string_of_modulegids_for_itemgid
+
+     1025   0.00002   0.01000  2376: for ( my $i = 0; $i <= $#{$modulesref}; $i++
+        0   0.00000   0.00000  2377: {
+  1215650   0.07093  11.30000  2378:  my $onemodule = ${$modulesref}[$i];
+  1215650   0.11160  10.78000  2379:  my $allitems = "";
+
+--------
+
+* 5 seconds ++
+
+   503880   0.03416   4.62000   283:  my $line = ${$scriptref}[$i];
+   503880   0.08359   5.76000   285:  if ( $line =~
+
+
+--------
+
+   148324   0.10664   1.57000   335:  foreach $key (keys %{${$oldcollector}[$i]})
+   161800   0.02043   1.41000    42: my ( $stringref ) = @_;
+   161800   0.03524   1.77000    44: $$stringref =~ s/^\s*//;
+   161800   0.43650   2.52000    45: $$stringref =~ s/\s*$//;
+   168455   0.00573   1.50000   872:  my $directorygid = $onedirectory->{'gid'};
+   168455   0.01485   1.58000   871:  $onedirectory = ${$dirsarrayref}[$i];
+   168455   0.02226   1.52000   874:  if ($directorygid eq $searchgid)
+   179687   0.02017   1.79000   291:    my $packagemodule =
+   179687   0.03661   1.62000   290:    if ( $includefile ) { next; }
+   179687   0.08935   1.77000   293:    if ( $filemodule eq $packagemodule )
+   180736   0.01710   1.85000    46:  if ( ${$arrayref}[$i] eq $searchstring)
+   218740   0.01105   1.91000   263:    ${$scriptref}[$i] = $line;
+   218740   0.01886   1.64000   261:    my $value = $subs{$key};
+   218740   0.56364   3.96000   262:    $line =~ s/$key/$value/g;
+   503880   0.03416   4.62000   283:  my $line = ${$scriptref}[$i];
+   503880   0.08359   5.76000   285:  if ( $line =~
+  1215650   0.07093  11.30000  2378:  my $onemodule = ${$modulesref}[$i];
+  1215650   0.09240  11.14000  2381:  if ( $onemodule->{$itemname} ) { $allitems
+  1215650   0.11160  10.78000  2379:  my $allitems = "";
+  1215650   4.33675  20.69000  2383:  if ( $allitems =~ /\b$itemgid\b/i )
+  1816320   0.74356  20.19000   337:   $newhash{$key} = ${$oldcollector}[$i]-

Added: trunk/patches/test/speed-make-installer.diff
==============================================================================
--- (empty file)
+++ trunk/patches/test/speed-make-installer.diff	Wed Dec 10 17:57:49 2008
@@ -0,0 +1,43 @@
+Index: modules/installer/scriptitems.pm
+===================================================================
+RCS file: /cvs/tools/solenv/bin/modules/installer/scriptitems.pm,v
+retrieving revision 1.51.18.2
+diff -u -p -r1.51.18.2 scriptitems.pm
+--- modules/installer/scriptitems.pm	22 Aug 2008 09:16:03 -0000	1.51.18.2
++++ modules/installer/scriptitems.pm	10 Dec 2008 17:56:53 -0000
+@@ -2371,12 +2373,10 @@ sub get_string_of_modulegids_for_itemgid
+ 	my $haslanguagemodule = 0;
+ 	my %foundmodules = ();
+ 	
+-	for ( my $i = 0; $i <= $#{$modulesref}; $i++ )
++	for my $onemodule (@{$modulesref})
+ 	{
+-		my $onemodule = ${$modulesref}[$i];
+-		my $allitems = "";
+-		
+-		if ( $onemodule->{$itemname} ) { $allitems = $onemodule->{$itemname}; }
++		next if ( $onemodule->{$itemname} );
++		my $allitems = $onemodule->{$itemname};
+ 		
+ 		if ( $allitems =~ /\b$itemgid\b/i )
+ 		{
+@@ -2397,6 +2397,8 @@ sub get_string_of_modulegids_for_itemgid
+ 		if ( ! $isreallylanguagemodule ) { installer::exiter::exit_program("ERROR: \"$itemgid\" is assigned to modules with flag \"LANGUAGEMODULE\" and also to modules without this flag! Modules: $allmodules", "get_string_of_modulegids_for_itemgid");  }
+ 	}
+ 
++	print STDERR "get_string_for_itemgid ($itemgid, $itemname) => $allmodules, $haslanguagemodule\n";
++
+ 	return ($allmodules, $haslanguagemodule);
+ }
+ 
+@@ -2415,9 +2417,8 @@ sub assigning_modules_to_items
+ 	my $languageassignmenterror = 0;
+ 	my @languageassignmenterrors = ();
+ 	
+-	for ( my $i = 0; $i <= $#{$itemsref}; $i++ )
++	for my $oneitem (@{$itemsref})
+ 	{
+-		my $oneitem = ${$itemsref}[$i];
+ 		my $itemgid = $oneitem->{'gid'};
+ 
+ 		my $styles = "";



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]