r59633 - in /branches/upstream/libdevel-nytprof-perl/current: Changes META.yml bin/nytprofhtml bin/nytprofmerge lib/Devel/NYTProf.pm lib/Devel/NYTProf/Core.pm lib/Devel/NYTProf/FileInfo.pm lib/Devel/NYTProf/Reader.pm
gregoa at users.alioth.debian.org
gregoa at users.alioth.debian.org
Sun Jun 20 22:07:26 UTC 2010
Author: gregoa
Date: Sun Jun 20 22:06:47 2010
New Revision: 59633
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=59633
Log:
[svn-upgrade] new version libdevel-nytprof-perl (4.03)
Modified:
branches/upstream/libdevel-nytprof-perl/current/Changes
branches/upstream/libdevel-nytprof-perl/current/META.yml
branches/upstream/libdevel-nytprof-perl/current/bin/nytprofhtml
branches/upstream/libdevel-nytprof-perl/current/bin/nytprofmerge
branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf.pm
branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/Core.pm
branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/FileInfo.pm
branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/Reader.pm
Modified: branches/upstream/libdevel-nytprof-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdevel-nytprof-perl/current/Changes?rev=59633&op=diff
==============================================================================
--- branches/upstream/libdevel-nytprof-perl/current/Changes (original)
+++ branches/upstream/libdevel-nytprof-perl/current/Changes Sun Jun 20 22:06:47 2010
@@ -2,7 +2,7 @@
Changes - List of significant changes to Devel::NYTProf
-(As of $Date: 2010-06-17 15:51:01 +0100 (Thu, 17 Jun 2010) $ $Revision: 1310 $)
+(As of $Date: 2010-06-19 19:56:26 +0100 (Sat, 19 Jun 2010) $ $Revision: 1316 $)
=cut
@@ -11,6 +11,13 @@
subroutine profiler docs need update
add u key to treemap to trigger moving 'up' a level
add "calls N subs" to treemap mouseover box
+
+=head2 Changes in Devel::NYTProf 4.03 (svn 1316) 19th June 2010
+
+ Fixed another nytprofhtml performance problem for profiles with
+ many files/evals. Much faster merging of evals now.
+
+ For subs that recurse, show max depth and time in subroutine table.
=head2 Changes in Devel::NYTProf 4.02 (svn 1309) 17th June 2010
Modified: branches/upstream/libdevel-nytprof-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdevel-nytprof-perl/current/META.yml?rev=59633&op=diff
==============================================================================
--- branches/upstream/libdevel-nytprof-perl/current/META.yml (original)
+++ branches/upstream/libdevel-nytprof-perl/current/META.yml Sun Jun 20 22:06:47 2010
@@ -1,6 +1,6 @@
--- #YAML:1.0
name: Devel-NYTProf
-version: 4.02
+version: 4.03
abstract: Powerful fast feature-rich perl source code profiler
author:
- Adam Kaplan <akaplan at cpan.org>, Tim Bunce <timb at cpan.org>
Modified: branches/upstream/libdevel-nytprof-perl/current/bin/nytprofhtml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdevel-nytprof-perl/current/bin/nytprofhtml?rev=59633&op=diff
==============================================================================
--- branches/upstream/libdevel-nytprof-perl/current/bin/nytprofhtml (original)
+++ branches/upstream/libdevel-nytprof-perl/current/bin/nytprofhtml Sun Jun 20 22:06:47 2010
@@ -7,7 +7,7 @@
## http://search.cpan.org/~akaplan/Devel-NYTProf
##
##########################################################
-# $Id: nytprofhtml 1310 2010-06-17 14:51:01Z tim.bunce at gmail.com $
+# $Id: nytprofhtml 1316 2010-06-19 18:56:26Z tim.bunce at gmail.com $
###########################################################
use warnings;
use strict;
@@ -43,7 +43,7 @@
my $json_any = eval { require JSON::Any; JSON::Any->import; JSON::Any->new }
or warn "Can't load JSON::Any module - HTML visualizations skipped.\n";
-our $VERSION = '4.02';
+our $VERSION = '4.03';
if ($VERSION != $Devel::NYTProf::Core::VERSION) {
die "$0 version '$VERSION' doesn't match version '$Devel::NYTProf::Core::VERSION' of $INC{'Devel/NYTProf/Core.pm'}\n";
@@ -320,12 +320,16 @@
my $is_opcode = ($pkg eq 'CORE' or $subr =~ /^CORE:/);
unshift @hints, ($is_opcode) ? 'opcode' : 'xsub';
}
+ if (my $recdepth = $sub->recur_max_depth) {
+ unshift @hints, sprintf "recurses: max depth %d, inclusive time %s",
+ $recdepth, fmt_time($sub->recur_incl_time);
+ }
$sub_links .= sprintf qq{%*s<a %s>%s</a>%s</span></td>},
$max_pkg_name_len+2, $pkg,
$reporter->href_for_sub($subname),
$subr,
- (@hints) ? " (".join(", ", at hints).")" : "";
+ (@hints) ? " (".join("; ", at hints).")" : "";
$sub_links .= "</tr>\n";
}
Modified: branches/upstream/libdevel-nytprof-perl/current/bin/nytprofmerge
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdevel-nytprof-perl/current/bin/nytprofmerge?rev=59633&op=diff
==============================================================================
--- branches/upstream/libdevel-nytprof-perl/current/bin/nytprofmerge (original)
+++ branches/upstream/libdevel-nytprof-perl/current/bin/nytprofmerge Sun Jun 20 22:06:47 2010
@@ -18,7 +18,7 @@
require Devel::NYTProf::Data;
use List::Util qw(min);
-our $VERSION = '4.02';
+our $VERSION = '4.03';
if ($VERSION != $Devel::NYTProf::Core::VERSION) {
die "$0 version '$VERSION' doesn't match version '$Devel::NYTProf::Core::VERSION' of $INC{'Devel/NYTProf/Core.pm'}\n";
Modified: branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf.pm?rev=59633&op=diff
==============================================================================
--- branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf.pm (original)
+++ branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf.pm Sun Jun 20 22:06:47 2010
@@ -7,11 +7,11 @@
## http://search.cpan.org/dist/Devel-NYTProf/
##
###########################################################
-## $Id: NYTProf.pm 1310 2010-06-17 14:51:01Z tim.bunce at gmail.com $
+## $Id: NYTProf.pm 1316 2010-06-19 18:56:26Z tim.bunce at gmail.com $
###########################################################
package Devel::NYTProf;
-our $VERSION = '4.02';
+our $VERSION = '4.03';
package # hide the package from the PAUSE indexer
DB;
Modified: branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/Core.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/Core.pm?rev=59633&op=diff
==============================================================================
--- branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/Core.pm (original)
+++ branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/Core.pm Sun Jun 20 22:06:47 2010
@@ -7,14 +7,14 @@
# http://search.cpan.org/dist/Devel-NYTProf/
#
###########################################################
-# $Id: Core.pm 1310 2010-06-17 14:51:01Z tim.bunce at gmail.com $
+# $Id: Core.pm 1316 2010-06-19 18:56:26Z tim.bunce at gmail.com $
###########################################################
package Devel::NYTProf::Core;
use XSLoader;
-our $VERSION = '4.02'; # increment with XS changes too
+our $VERSION = '4.03'; # increment with XS changes too
XSLoader::load('Devel::NYTProf', $VERSION);
Modified: branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/FileInfo.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/FileInfo.pm?rev=59633&op=diff
==============================================================================
--- branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/FileInfo.pm (original)
+++ branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/FileInfo.pm Sun Jun 20 22:06:47 2010
@@ -344,14 +344,33 @@
if $donor_fi->src_digest ne $survivor_fi->src_digest;
# remove eval from NYTP_FIDi_HAS_EVALS
- if (my $eval_fis = $self->[NYTP_FIDi_HAS_EVALS()]) {
+ # XXX DISABLED - moved to after donor loop
+ if (0 and my $eval_fis = $self->[NYTP_FIDi_HAS_EVALS()]) {
my $count = @$eval_fis;
- @$eval_fis = grep { $_ != $donor_fi } @$eval_fis;
- warn "_delete_eval missed" if @$eval_fis == $count;
- # XXX needs to update NYTP_FIDi_SUBS_DEFINED NYTP_FIDi_SUBS_CALLED ?
+ # XXX this is very expensive when there are many siblings
+ # could possibly be deferred till outside the donor loop
+ # so alll donors could be deleted at once
+ while ($count--) {
+ if ($eval_fis->[$count] == $donor_fi) {
+ splice @$eval_fis, $count, 1;
+ undef $count; # mark as done
+ last;
+ }
+ }
+ warn "_delete_eval missed for ".$donor_fi->filename
+ if defined $count;
}
$donor_fi->_nullify;
+ }
+
+ # remove donors
+ if (my $eval_fis = $self->[NYTP_FIDi_HAS_EVALS()]) {
+ my %donors = map { +"$_" => 1 } @donors;
+ my $count = @$eval_fis;
+ @$eval_fis = grep { !$donors{$_} } @$eval_fis;
+ warn "_delete_eval mismatch"
+ if @$eval_fis != $count - @donors;
}
# now the fid merging is complete...
Modified: branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/Reader.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/Reader.pm?rev=59633&op=diff
==============================================================================
--- branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/Reader.pm (original)
+++ branches/upstream/libdevel-nytprof-perl/current/lib/Devel/NYTProf/Reader.pm Sun Jun 20 22:06:47 2010
@@ -7,11 +7,11 @@
## http://search.cpan.org/dist/Devel-NYTProf/
##
###########################################################
-## $Id: Reader.pm 1309 2010-06-17 14:50:32Z tim.bunce at gmail.com $
+## $Id: Reader.pm 1316 2010-06-19 18:56:26Z tim.bunce at gmail.com $
###########################################################
package Devel::NYTProf::Reader;
-our $VERSION = '4.01';
+our $VERSION = '4.03';
use warnings;
use strict;
@@ -202,7 +202,7 @@
if ($opts{show_progress}) {
local $| = 1;
++$progress;
- printf "\r %d%% ... ", $progress/@fis*100;
+ printf "\r %3d%% ... ", $progress/@fis*100;
}
my $meta = $fi->meta;
More information about the Pkg-perl-cvs-commits
mailing list