← Index
NYTProf Performance Profile   « block view • line view • sub view »
For C:/lo/libo-master/solenv/bin/make_installer.pl
  Run on Mon Sep 24 00:52:54 2012
Reported on Mon Sep 24 07:34:50 2012

Filename/cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/pathanalyzer.pm
StatementsExecuted 454890 statements in 2.38s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
50033661.10s1.62sinstaller::pathanalyzer::::get_path_from_fullqualifiednameinstaller::pathanalyzer::get_path_from_fullqualifiedname
15636631556ms556msinstaller::pathanalyzer::::CORE:matchinstaller::pathanalyzer::CORE:match (opcode)
5630075465ms606msinstaller::pathanalyzer::::make_absolute_filename_to_relative_filenameinstaller::pathanalyzer::make_absolute_filename_to_relative_filename
10006621109ms109msinstaller::pathanalyzer::::CORE:regcompinstaller::pathanalyzer::CORE:regcomp (opcode)
111318µs321µsinstaller::pathanalyzer::::BEGIN@30installer::pathanalyzer::BEGIN@30
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1#*************************************************************************
2#
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# Copyright 2000, 2010 Oracle and/or its affiliates.
6#
7# OpenOffice.org - a multi-platform office productivity suite
8#
9# This file is part of OpenOffice.org.
10#
11# OpenOffice.org is free software: you can redistribute it and/or modify
12# it under the terms of the GNU Lesser General Public License version 3
13# only, as published by the Free Software Foundation.
14#
15# OpenOffice.org is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18# GNU Lesser General Public License version 3 for more details
19# (a copy is included in the LICENSE file that accompanied this code).
20#
21# You should have received a copy of the GNU Lesser General Public License
22# version 3 along with OpenOffice.org. If not, see
23# <http://www.openoffice.org/license.html>
24# for a copy of the LGPLv3 License.
25#
26#*************************************************************************
27
28package installer::pathanalyzer;
29
302383µs2324µs
# spent 321µs (318+3) within installer::pathanalyzer::BEGIN@30 which was called: # once (318µs+3µs) by installer::systemactions::BEGIN@35 at line 30
use installer::globals;
# spent 321µs making 1 call to installer::pathanalyzer::BEGIN@30 # spent 3µs making 1 call to UNIVERSAL::import
31
32###########################################
33# Path analyzer
34###########################################
35
36sub get_path_from_fullqualifiedname
37
# spent 1.62s (1.10+524ms) within installer::pathanalyzer::get_path_from_fullqualifiedname which was called 50033 times, avg 32µs/call: # 15895 times (258ms+97.8ms) by installer::scriptitems::collect_directories_from_filesarray at line 1736 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/scriptitems.pm, avg 22µs/call # 15883 times (289ms+135ms) by installer::windows::file::get_file_component_name at line 243 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/file.pm, avg 27µs/call # 9648 times (398ms+233ms) by installer::windows::component::get_file_component_directory at line 126 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/component.pm, avg 65µs/call # 8601 times (151ms+57.9ms) by installer::archivefiles::resolving_archive_flag at line 359 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/archivefiles.pm, avg 24µs/call # 5 times (158µs+76µs) by installer::windows::mergemodule::merge_mergemodules_into_msi_database at line 354 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/mergemodule.pm, avg 47µs/call # once (33µs+15µs) by installer::systemactions::create_directory_next_to_directory at line 902 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/systemactions.pm
{
385003357.4ms my ($longfilenameref) = @_;
39
4050033882ms100066253ms if ( $$longfilenameref =~ /\Q$installer::globals::separator\E/ ) # Is there a separator in the path? Otherwise the path is empty.
# spent 212ms making 50033 calls to installer::pathanalyzer::CORE:match, avg 4µs/call # spent 41.0ms making 50033 calls to installer::pathanalyzer::CORE:regcomp, avg 820ns/call
41 {
4250033615ms100066271ms if ( $$longfilenameref =~ /^\s*(.*\Q$installer::globals::separator\E)(.+)/ )
# spent 202ms making 50033 calls to installer::pathanalyzer::CORE:match, avg 4µs/call # spent 68.5ms making 50033 calls to installer::pathanalyzer::CORE:regcomp, avg 1µs/call
43 {
4450033115ms $$longfilenameref = $1;
45 }
46 }
47 else
48 {
49 $$longfilenameref = ""; # there is no path
50 }
51}
52
53sub make_absolute_filename_to_relative_filename
54
# spent 606ms (465+141) within installer::pathanalyzer::make_absolute_filename_to_relative_filename which was called 56300 times, avg 11µs/call: # 15921 times (139ms+41.5ms) by installer::windows::msiglobal::save_packorder at line 405 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/msiglobal.pm, avg 11µs/call # 15888 times (131ms+42.7ms) by installer::windows::file::generate_unique_filename_for_filetable at line 394 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/file.pm, avg 11µs/call # 15888 times (125ms+36.6ms) by installer::windows::file::generate_filename_for_filetable at line 488 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/file.pm, avg 10µs/call # 7512 times (55.0ms+13.1ms) by installer::scriptitems::get_Destination_Directory_For_Item_From_Directorylist at line 890 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/scriptitems.pm, avg 9µs/call # 981 times (12.3ms+6.11ms) by installer::windows::idtglobal::prepare_language_idt_directory at line 805 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/idtglobal.pm, avg 19µs/call # 109 times (1.98ms+1.43ms) by installer::windows::idtglobal::prepare_language_idt_directory at line 794 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/idtglobal.pm, avg 31µs/call # once (21µs+14µs) by installer::windows::icon::create_icon_table at line 47 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/windows/icon.pm
{
555630040.6ms my ($longfilenameref) = @_;
56
575630022.8ms if ( $installer::globals::isunix )
58 {
59 if ( $$longfilenameref =~ /^.*\/(\S.+\S?)/ )
60 {
61 $$longfilenameref = $1;
62 }
63 }
64
6556300246ms if ( $installer::globals::iswin )
66 {
67 # Either '/' or '\'. It would be possible to use $installer::globals::separator.
6856300365ms56300141ms if ( $$longfilenameref =~ /^.*[\/\\](\S.+\S?)/ )
# spent 141ms making 56300 calls to installer::pathanalyzer::CORE:match, avg 3µs/call
69 {
702955536.1ms $$longfilenameref = $1;
71 }
72 }
73}
74
7517µs1;
 
# spent 556ms within installer::pathanalyzer::CORE:match which was called 156366 times, avg 4µs/call: # 56300 times (141ms+0s) by installer::pathanalyzer::make_absolute_filename_to_relative_filename at line 68, avg 3µs/call # 50033 times (212ms+0s) by installer::pathanalyzer::get_path_from_fullqualifiedname at line 40, avg 4µs/call # 50033 times (202ms+0s) by installer::pathanalyzer::get_path_from_fullqualifiedname at line 42, avg 4µs/call
sub installer::pathanalyzer::CORE:match; # opcode
# spent 109ms within installer::pathanalyzer::CORE:regcomp which was called 100066 times, avg 1µs/call: # 50033 times (68.5ms+0s) by installer::pathanalyzer::get_path_from_fullqualifiedname at line 42, avg 1µs/call # 50033 times (41.0ms+0s) by installer::pathanalyzer::get_path_from_fullqualifiedname at line 40, avg 820ns/call
sub installer::pathanalyzer::CORE:regcomp; # opcode