← Index
NYTProf Performance Profile   « block view • line view • sub view »
For reply.pl
  Run on Thu Oct 21 22:40:13 2010
Reported on Thu Oct 21 22:44:41 2010

Filename/mnt/stuff/src/my-cpan/hailo/reply.pl
StatementsExecuted 30013 statements in 208ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
4795121131.8s31.8sDBI::st::::fetchall_arrayref DBI::st::fetchall_arrayref (xsub)
13745138313.0s13.0sDBI::st::::execute DBI::st::execute (xsub)
1113.92s3.92sDBI::db::::sqlite_backup_to_file DBI::db::sqlite_backup_to_file (xsub)
864998523.52s3.52sDBI::st::::fetchrow_array DBI::st::fetchrow_array (xsub)
111379ms379msDBI::db::::sqlite_backup_from_file DBI::db::sqlite_backup_from_file (xsub)
3000011143ms143msDBI::st::::fetchrow_arrayref DBI::st::fetchrow_arrayref (xsub)
644311.4ms11.4msDBI::common::::DESTROY DBI::common::DESTROY (xsub)
1113.90ms3.95msmain::::BEGIN@4 main::BEGIN@4
1112.16ms76.0msmain::::BEGIN@6 main::BEGIN@6
31111.31ms1.31msDBD::SQLite::st::::_prepare DBD::SQLite::st::_prepare (xsub)
1111.22ms1.36msmain::::BEGIN@3 main::BEGIN@3
1811853µs1.16msMouse::Meta::Method::Accessor::XS::::_generate_accessor Mouse::Meta::Method::Accessor::XS::_generate_accessor (xsub)
1811812µs1.38msMouse::Meta::Method::Accessor::XS::::_generate_reader Mouse::Meta::Method::Accessor::XS::_generate_reader (xsub)
111626µs705µsmain::::BEGIN@5.1 main::BEGIN@5.1
3143250µs3.22msDBI::db::::prepare DBI::db::prepare (xsub)
885103µs103µsUNIVERSAL::::VERSION UNIVERSAL::VERSION (xsub)
276491µs91µsUNIVERSAL::::can UNIVERSAL::can (xsub)
306473µs73µsUNIVERSAL::::isa UNIVERSAL::isa (xsub)
91164µs78µsMouse::Meta::Method::Accessor::XS::::_generate_predicate Mouse::Meta::Method::Accessor::XS::_generate_predicate (xsub)
221164µs64µsInternals::::SvREADONLY Internals::SvREADONLY (xsub)
324361µs61µsDBD::_mem::common::::DESTROY DBD::_mem::common::DESTROY (xsub)
11157µs762µsmain::::BEGIN@5 main::BEGIN@5
11155µs55µsDBI::db::::sqlite_register_fts3_perl_tokenizer DBI::db::sqlite_register_fts3_perl_tokenizer (xsub)
91155µs68µsMouse::Meta::Method::Accessor::XS::::_generate_clearer Mouse::Meta::Method::Accessor::XS::_generate_clearer (xsub)
103236µs36µsDBI::common::::FETCH DBI::common::FETCH (xsub)
83132µs32µsDBI::common::::STORE DBI::common::STORE (xsub)
32230µs959µsDBI::db::::do DBI::db::do (xsub)
11115µs366µsDBI::dr::::connect DBI::dr::connect (xsub)
1119µs9µsmain::::CORE:binmode main::CORE:binmode (opcode)
3119µs9µsDBI::st::::rows DBI::st::rows (xsub)
1119µs9µsHailo::Tokenizer::Words::::BEGIN@188 Hailo::Tokenizer::Words::BEGIN@188
5119µs9µsMouse::Meta::Method::Constructor::XS::::_generate_constructorMouse::Meta::Method::Constructor::XS::_generate_constructor (xsub)
1118µs8µsDBI::dr::::disconnect_all DBI::dr::disconnect_all (xsub)
5117µs7µsMouse::Meta::Method::Destructor::XS::::_generate_destructor Mouse::Meta::Method::Destructor::XS::_generate_destructor (xsub)
1117µs7µsDBI::db::::sqlite_collation_needed DBI::db::sqlite_collation_needed (xsub)
1116µs6µsversion::::(bool version::(bool (xsub)
1116µs6µsversion::::(cmp version::(cmp (xsub)
1115µs5µsDBI::db::::connected DBI::db::connected (xsub)
1114µs4µsDBI::db::::sqlite_create_function DBI::db::sqlite_create_function (xsub)
0000s0smain::::RUNTIME main::RUNTIME
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
0897.85sProfile data that couldn't be associated with a specific line:
# spent 3.92s making 4 calls to Mouse::Object::DESTROY, avg 979ms/call # spent 3.92s making 1 call to Hailo::DEMOLISH # spent 11.4ms making 54 calls to DBI::common::DESTROY, avg 211µs/call # spent 92µs making 1 call to DBI::END # spent 50µs making 27 calls to DBD::_mem::common::DESTROY, avg 2µs/call # spent 9µs making 1 call to Hailo::Tokenizer::Words::BEGIN@188 # spent 4µs making 1 call to Mouse::Util::END
1112.1ms#!/usr/bin/env perl
2
321.11ms21.38ms
# spent 1.36ms (1.22+143µs) within main::BEGIN@3 which was called: # once (1.22ms+143µs) by main::RUNTIME at line 3
use strict;
# spent 1.36ms making 1 call to main::BEGIN@3 # spent 18µs making 1 call to strict::import
423.79ms23.97ms
# spent 3.95ms (3.90+47µs) within main::BEGIN@4 which was called: # once (3.90ms+47µs) by main::RUNTIME at line 4
use warnings;
# spent 3.95ms making 1 call to main::BEGIN@4 # spent 25µs making 1 call to warnings::import
54653µs31.55ms
# spent 705µs (626+79) within main::BEGIN@5.1 which was called: # once (626µs+79µs) by main::BEGIN@5 at line 5 # spent 762µs (57+705) within main::BEGIN@5 which was called: # once (57µs+705µs) by main::RUNTIME at line 5
use 5.010;
# spent 762µs making 1 call to main::BEGIN@5 # spent 705µs making 1 call to main::BEGIN@5.1 # spent 79µs making 1 call to feature::import
62399µs176.0ms
# spent 76.0ms (2.16+73.9) within main::BEGIN@6 which was called: # once (2.16ms+73.9ms) by main::RUNTIME at line 6
use Hailo;
# spent 76.0ms making 1 call to main::BEGIN@6
7116µs19µsbinmode *STDOUT, ':utf8';
# spent 9µs making 1 call to main::CORE:binmode
8
91235µs34798µsmy $h = Hailo->new(
# spent 488µs making 1 call to Mouse::Object::new # spent 224µs making 1 call to Mouse::Meta::Class::_calculate_all_attributes # spent 20µs making 13 calls to Mouse::Meta::TypeConstraint::_compiled_type_constraint, avg 2µs/call # spent 18µs making 1 call to Hailo::__ANON__[Hailo.pm:71] # spent 16µs making 1 call to Mouse::Meta::Class::is_anon_class # spent 15µs making 11 calls to Mouse::Meta::Attribute::default, avg 1µs/call # spent 11µs making 3 calls to Hailo::__ANON__[Hailo.pm:117], avg 4µs/call # spent 2µs making 1 call to Mouse::Meta::Class::strict_constructor # spent 2µs making 1 call to Mouse::Meta::Class::is_immutable # spent 1µs making 1 call to Mouse::Meta::Attribute::trigger
10 brain_resource => 'bench.sqlite',
11 storage_args => {
12 in_memory => 1,
13 },
14);
15
16129µsfor (1..30000) {
1730000190ms30000132s $h->reply();
# spent 132s making 30000 calls to Hailo::reply, avg 4.40ms/call
18}
19
- -
 
# spent 1.31ms within DBD::SQLite::st::_prepare which was called 31 times, avg 42µs/call: # 31 times (1.31ms+0s) by DBD::SQLite::db::prepare at line 180 of DBD/SQLite.pm, avg 42µs/call
sub DBD::SQLite::st::_prepare; # xsub
# spent 61µs within DBD::_mem::common::DESTROY which was called 32 times, avg 2µs/call: # 27 times (50µs+0s) by main::NULL at line 0, avg 2µs/call # 3 times (6µs+0s) by DBD::SQLite::db::do at line 191 of DBD/SQLite.pm, avg 2µs/call # once (2µs+0s) by Hailo::Storage::_engage_initialized_check_and_set_order at line 105 of Hailo/Storage.pm # once (2µs+0s) by Hailo::Storage::_engage_initialized_check_and_set_tokenizer at line 108 of Hailo/Storage.pm
sub DBD::_mem::common::DESTROY; # xsub
# spent 11.4ms within DBI::common::DESTROY which was called 64 times, avg 179µs/call: # 54 times (11.4ms+0s) by main::NULL at line 0, avg 211µs/call # 6 times (21µs+0s) by DBD::SQLite::db::do at line 191 of DBD/SQLite.pm, avg 3µs/call # 2 times (8µs+0s) by Hailo::Storage::_engage_initialized_check_and_set_tokenizer at line 108 of Hailo/Storage.pm, avg 4µs/call # 2 times (7µs+0s) by Hailo::Storage::_engage_initialized_check_and_set_order at line 105 of Hailo/Storage.pm, avg 4µs/call
sub DBI::common::DESTROY; # xsub
# spent 36µs within DBI::common::FETCH which was called 10 times, avg 4µs/call: # 4 times (13µs+0s) by DBI::__ANON__[/home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/site_perl/5.13.5/x86_64-linux/DBI.pm:731] at line 720 of DBI.pm, avg 3µs/call # 3 times (14µs+0s) by DBD::SQLite::db::do at line 193 of DBD/SQLite.pm, avg 5µs/call # 3 times (9µs+0s) by DBD::SQLite::db::do at line 196 of DBD/SQLite.pm, avg 3µs/call
sub DBI::common::FETCH; # xsub
# spent 32µs within DBI::common::STORE which was called 8 times, avg 4µs/call: # 4 times (13µs+0s) by DBI::__ANON__[/home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/site_perl/5.13.5/x86_64-linux/DBI.pm:731] at line 720 of DBI.pm, avg 3µs/call # 3 times (14µs+0s) by DBI::__ANON__[/home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/site_perl/5.13.5/x86_64-linux/DBI.pm:731] at line 717 of DBI.pm, avg 5µs/call # once (5µs+0s) by DBI::connect at line 735 of DBI.pm
sub DBI::common::STORE; # xsub
# spent 5µs within DBI::db::connected which was called: # once (5µs+0s) by DBI::__ANON__[/home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/site_perl/5.13.5/x86_64-linux/DBI.pm:731] at line 726 of DBI.pm
sub DBI::db::connected; # xsub
# spent 959µs (30+928) within DBI::db::do which was called 3 times, avg 320µs/call: # 2 times (13µs+357µs) by Hailo::Storage::SQLite::_set_pragmas at line 115 of Hailo/Storage/SQLite.pm, avg 185µs/call # once (17µs+572µs) by Hailo::Storage::initialized at line 248 of Hailo/Storage.pm
sub DBI::db::do; # xsub
# spent 3.22ms (250µs+2.97) within DBI::db::prepare which was called 31 times, avg 104µs/call: # 26 times (203µs+2.15ms) by Hailo::Storage::Schema::sth at line 158 of Hailo/Storage/Schema.pm, avg 91µs/call # 3 times (27µs+646µs) by DBD::SQLite::db::do at line 192 of DBD/SQLite.pm, avg 224µs/call # once (11µs+89µs) by Hailo::Storage::_engage_initialized_check_and_set_order at line 143 of Hailo/Storage.pm # once (10µs+82µs) by Hailo::Storage::_engage_initialized_check_and_set_tokenizer at line 174 of Hailo/Storage.pm
sub DBI::db::prepare; # xsub
# spent 379ms within DBI::db::sqlite_backup_from_file which was called: # once (379ms+0s) by Hailo::Storage::SQLite::__ANON__[/home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/site_perl/5.13.5/Hailo/Storage/SQLite.pm:65] at line 60 of Hailo/Storage/SQLite.pm
sub DBI::db::sqlite_backup_from_file; # xsub
# spent 3.92s within DBI::db::sqlite_backup_to_file which was called: # once (3.92s+0s) by Hailo::Storage::SQLite::save at line 127 of Hailo/Storage/SQLite.pm
sub DBI::db::sqlite_backup_to_file; # xsub
# spent 7µs within DBI::db::sqlite_collation_needed which was called: # once (7µs+0s) by DBD::SQLite::dr::connect at line 128 of DBD/SQLite.pm
sub DBI::db::sqlite_collation_needed; # xsub
# spent 4µs within DBI::db::sqlite_create_function which was called: # once (4µs+0s) by DBD::SQLite::dr::connect at line 129 of DBD/SQLite.pm
sub DBI::db::sqlite_create_function; # xsub
# spent 55µs within DBI::db::sqlite_register_fts3_perl_tokenizer which was called: # once (55µs+0s) by DBD::SQLite::dr::connect at line 130 of DBD/SQLite.pm
sub DBI::db::sqlite_register_fts3_perl_tokenizer; # xsub
# spent 366µs (15+351) within DBI::dr::connect which was called: # once (15µs+351µs) by DBI::__ANON__[/home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/site_perl/5.13.5/x86_64-linux/DBI.pm:731] at line 665 of DBI.pm
sub DBI::dr::connect; # xsub
# spent 8µs within DBI::dr::disconnect_all which was called: # once (8µs+0s) by DBI::disconnect_all at line 743 of DBI.pm
sub DBI::dr::disconnect_all; # xsub
# spent 13.0s within DBI::st::execute which was called 1374513 times, avg 9µs/call: # 479512 times (5.11s+0s) by Hailo::Engine::Default::_pos_token at line 264 of Hailo/Engine/Default.pm, avg 11µs/call # 445416 times (3.24s+0s) by Hailo::Engine::Default::_token_info at line 96 of Hailo/Engine/Default.pm, avg 7µs/call # 419579 times (4.19s+0s) by Hailo::Engine::Default::_expr_id at line 196 of Hailo/Engine/Default.pm, avg 10µs/call # 30000 times (406ms+0s) by Hailo::Engine::Default::_random_expr at line 241 of Hailo/Engine/Default.pm, avg 14µs/call # 3 times (24µs+0s) by DBD::SQLite::db::do at line 193 of DBD/SQLite.pm, avg 8µs/call # once (24µs+0s) by Hailo::Storage::_engage at line 110 of Hailo/Storage.pm # once (24µs+0s) by Hailo::Storage::_engage_initialized_check_and_set_order at line 144 of Hailo/Storage.pm # once (15µs+0s) by Hailo::Storage::_engage_initialized_check_and_set_tokenizer at line 175 of Hailo/Storage.pm
sub DBI::st::execute; # xsub
# spent 31.8s within DBI::st::fetchall_arrayref which was called 479512 times, avg 66µs/call: # 479512 times (31.8s+0s) by Hailo::Engine::Default::_pos_token at line 265 of Hailo/Engine/Default.pm, avg 66µs/call
sub DBI::st::fetchall_arrayref; # xsub
# spent 3.52s within DBI::st::fetchrow_array which was called 864998 times, avg 4µs/call: # 445416 times (1.71s+0s) by Hailo::Engine::Default::_token_info at line 97 of Hailo/Engine/Default.pm, avg 4µs/call # 419579 times (1.81s+0s) by Hailo::Engine::Default::_expr_id at line 197 of Hailo/Engine/Default.pm, avg 4µs/call # once (19µs+0s) by Hailo::Storage::_engage_initialized_check_and_set_order at line 145 of Hailo/Storage.pm # once (11µs+0s) by Hailo::Storage::_engage at line 111 of Hailo/Storage.pm # once (8µs+0s) by Hailo::Storage::_engage_initialized_check_and_set_tokenizer at line 176 of Hailo/Storage.pm
sub DBI::st::fetchrow_array; # xsub
# spent 143ms within DBI::st::fetchrow_arrayref which was called 30000 times, avg 5µs/call: # 30000 times (143ms+0s) by Hailo::Engine::Default::_random_expr at line 242 of Hailo/Engine/Default.pm, avg 5µs/call
sub DBI::st::fetchrow_arrayref; # xsub
# spent 9µs within DBI::st::rows which was called 3 times, avg 3µs/call: # 3 times (9µs+0s) by DBD::SQLite::db::do at line 194 of DBD/SQLite.pm, avg 3µs/call
sub DBI::st::rows; # xsub
# spent 64µs within Internals::SvREADONLY which was called 22 times, avg 3µs/call: # 22 times (64µs+0s) by constant::import at line 126 of constant.pm, avg 3µs/call
sub Internals::SvREADONLY; # xsub
# spent 1.16ms (853µs+306µs) within Mouse::Meta::Method::Accessor::XS::_generate_accessor which was called 18 times, avg 64µs/call: # 18 times (853µs+306µs) by Mouse::Meta::Attribute::install_accessors at line 257 of Mouse/Meta/Attribute.pm, avg 64µs/call
sub Mouse::Meta::Method::Accessor::XS::_generate_accessor; # xsub
# spent 68µs (55+13) within Mouse::Meta::Method::Accessor::XS::_generate_clearer which was called 9 times, avg 8µs/call: # 9 times (55µs+13µs) by Mouse::Meta::Attribute::install_accessors at line 257 of Mouse/Meta/Attribute.pm, avg 8µs/call
sub Mouse::Meta::Method::Accessor::XS::_generate_clearer; # xsub
# spent 78µs (64+13) within Mouse::Meta::Method::Accessor::XS::_generate_predicate which was called 9 times, avg 9µs/call: # 9 times (64µs+13µs) by Mouse::Meta::Attribute::install_accessors at line 257 of Mouse/Meta/Attribute.pm, avg 9µs/call
sub Mouse::Meta::Method::Accessor::XS::_generate_predicate; # xsub
# spent 1.38ms (812µs+569µs) within Mouse::Meta::Method::Accessor::XS::_generate_reader which was called 18 times, avg 77µs/call: # 18 times (812µs+569µs) by Mouse::Meta::Attribute::install_accessors at line 257 of Mouse/Meta/Attribute.pm, avg 77µs/call
sub Mouse::Meta::Method::Accessor::XS::_generate_reader; # xsub
# spent 9µs within Mouse::Meta::Method::Constructor::XS::_generate_constructor which was called 5 times, avg 2µs/call: # 5 times (9µs+0s) by Mouse::Meta::Class::make_immutable at line 290 of Mouse/Meta/Class.pm, avg 2µs/call
sub Mouse::Meta::Method::Constructor::XS::_generate_constructor; # xsub
# spent 7µs within Mouse::Meta::Method::Destructor::XS::_generate_destructor which was called 5 times, avg 1µs/call: # 5 times (7µs+0s) by Mouse::Meta::Class::make_immutable at line 296 of Mouse/Meta/Class.pm, avg 1µs/call
sub Mouse::Meta::Method::Destructor::XS::_generate_destructor; # xsub
# spent 103µs within UNIVERSAL::VERSION which was called 8 times, avg 13µs/call: # once (16µs+0s) by namespace::clean::BEGIN@17 at line 17 of namespace/clean.pm # once (15µs+0s) by B::Hooks::EndOfScope::BEGIN@14 at line 14 of B/Hooks/EndOfScope.pm # once (13µs+0s) by Data::OptList::BEGIN@8 at line 8 of Data/OptList.pm # once (13µs+0s) by namespace::clean::BEGIN@14 at line 14 of namespace/clean.pm # once (12µs+0s) by namespace::clean::BEGIN@16 at line 16 of namespace/clean.pm # once (12µs+0s) by namespace::clean::BEGIN@15 at line 15 of namespace/clean.pm # once (11µs+0s) by Sub::Exporter::BEGIN@9 at line 9 of Sub/Exporter.pm # once (11µs+0s) by DBD::SQLite::BEGIN@5 at line 5 of DBD/SQLite.pm
sub UNIVERSAL::VERSION; # xsub
# spent 91µs within UNIVERSAL::can which was called 27 times, avg 3µs/call: # 10 times (36µs+0s) by Mouse::Meta::Role::Application::check_required_methods at line 99 of Mouse/Meta/Role/Application.pm, avg 4µs/call # 5 times (17µs+0s) by Mouse::Exporter::build_import_methods at line 108 of Mouse/Exporter.pm, avg 3µs/call # 5 times (14µs+0s) by Mouse::Meta::Class::verify_superclass at line 82 of Mouse/Meta/Class.pm, avg 3µs/call # 4 times (14µs+0s) by Mouse::Meta::Class::_install_modifier at line 320 of Mouse/Meta/Class.pm, avg 3µs/call # 2 times (7µs+0s) by Mouse::Meta::Class::add_override_method_modifier at line 409 of Mouse/Meta/Class.pm, avg 3µs/call # once (3µs+0s) by Sub::Exporter::default_generator at line 848 of Sub/Exporter.pm
sub UNIVERSAL::can; # xsub
# spent 73µs within UNIVERSAL::isa which was called 30 times, avg 2µs/call: # 9 times (23µs+0s) by DBI::setup_driver at line 838 of DBI.pm, avg 3µs/call # 9 times (19µs+0s) by DBI::setup_driver at line 841 of DBI.pm, avg 2µs/call # 4 times (13µs+0s) by Any::Moose::_backer_of at line 105 of Any/Moose.pm, avg 3µs/call # 4 times (6µs+0s) by Any::Moose::_backer_of at line 106 of Any/Moose.pm, avg 2µs/call # 3 times (8µs+0s) by base::import at line 81 of base.pm, avg 3µs/call # once (2µs+0s) by Mouse::Meta::Class::verify_superclass at line 91 of Mouse/Meta/Class.pm
sub UNIVERSAL::isa; # xsub
# spent 9µs within main::CORE:binmode which was called: # once (9µs+0s) by main::RUNTIME at line 7
sub main::CORE:binmode; # opcode
# spent 6µs within version::(bool which was called: # once (6µs+0s) by Tie::RefHash::BEGIN@99 at line 50 of Config.pm
sub version::(bool; # xsub
# spent 6µs within version::(cmp which was called: # once (6µs+0s) by Tie::RefHash::BEGIN@99 at line 53 of Config.pm
sub version::(cmp; # xsub