]> Dogcows Code - chaz/p5-CGI-Ex/blobdiff - samples/devel/dprof_conf.d
CGI::Ex 2.00
[chaz/p5-CGI-Ex] / samples / devel / dprof_conf.d
diff --git a/samples/devel/dprof_conf.d b/samples/devel/dprof_conf.d
new file mode 100644 (file)
index 0000000..a99369c
--- /dev/null
@@ -0,0 +1,77 @@
+# -*-perl-*-
+# run with perl -d:DProf $0
+
+use CGI::Ex::Conf qw(conf_read conf_write);
+use POSIX qw(tmpnam);
+use Data::Dumper qw(Dumper);
+
+#my $cob = CGI::Ex::Conf->new;
+my $tmp = tmpnam .".sto";
+END { unlink $tmp };
+
+my $conf = {
+    one   => 1,
+    two   => 2,
+    three => 3,
+    four  => 4,
+    five  => 5,
+    six   => 6,
+    seven => 7,
+    eight => 8,
+    nine  => 9,
+    ten   => 10,
+};
+
+#$cob->write($tmp, $conf);
+conf_write($tmp, $conf);
+#print `cat $tmp`; exit;
+
+for (1 .. 100_000) {
+#    my $ref = $cob->read($tmp);
+#    my $ref = conf_read($tmp);
+#    print Dumper $ref; exit;
+
+    conf_write($tmp, $conf);
+}
+
+
+__END__
+
+### conf_read
+%Time ExclSec CumulS #Calls sec/call Csec/c  Name
+ 38.5   2.120  0.000 100000   0.0000 0.0000  Storable::_retrieve
+ 38.1   2.100  2.100 100000   0.0000 0.0000  Storable::pretrieve
+ 20.9   1.150  5.860 100000   0.0000 0.0001  CGI::Ex::Conf::read_ref
+ 8.73   0.480  6.720 100000   0.0000 0.0001  CGI::Ex::Conf::conf_read
+ 6.91   0.380  0.380 100001   0.0000 0.0000  CGI::Ex::Conf::new
+ 4.73   0.260  0.000 100000   0.0000 0.0000  Storable::retrieve
+ 4.18   0.230  4.710 100000   0.0000 0.0000  CGI::Ex::Conf::read_handler_storab
+                                             le
+ 0.36   0.020  0.040      3   0.0067 0.0133  main::BEGIN
+ 0.18   0.010  0.010      6   0.0017 0.0017  Exporter::import
+ 0.18   0.010  0.010      4   0.0025 0.0025  CGI::Ex::Conf::BEGIN
+ 0.18   0.010  0.020      1   0.0100 0.0199  CGI::Ex::Conf::write_handler_stora
+                                             ble
+ 0.18   0.010  0.010      5   0.0020 0.0020  AutoLoader::AUTOLOAD
+ 0.00   0.000  0.000      1   0.0000 0.0000  POSIX::load_imports
+ 0.00   0.000  0.000      1   0.0000 0.0000  Exporter::Heavy::heavy_export
+ 0.00   0.000  0.000      1   0.0000 0.0000  Storable::store
+
+### conf_write
+%Time ExclSec CumulS #Calls sec/call Csec/c  Name
+ 60.3   9.510  9.510 100001   0.0001 0.0001  Storable::pstore
+ 32.8   5.170  0.000 100001   0.0001 0.0000  Storable::_store
+ 7.68   1.210 16.450 100001   0.0000 0.0002  CGI::Ex::Conf::write_ref
+ 2.60   0.410 17.220 100001   0.0000 0.0002  CGI::Ex::Conf::conf_write
+ 2.28   0.360  0.360 100001   0.0000 0.0000  CGI::Ex::Conf::new
+ 2.16   0.340 15.240 100001   0.0000 0.0002  CGI::Ex::Conf::write_handler_stora
+                                             ble
+ 1.33   0.210  0.000 100001   0.0000 0.0000  Storable::store
+ 0.06   0.010  0.010      3   0.0033 0.0033  AutoLoader::import
+ 0.06   0.010  0.010      2   0.0050 0.0050  DynaLoader::BEGIN
+ 0.06   0.010  0.010      4   0.0025 0.0025  CGI::Ex::Conf::BEGIN
+ 0.06   0.010  0.030      3   0.0033 0.0099  main::BEGIN
+ 0.00   0.000  0.000      1   0.0000 0.0000  POSIX::load_imports
+ 0.00   0.000  0.000      1   0.0000 0.0000  Exporter::Heavy::heavy_export
+ 0.00       - -0.000      1        -      -  main::END
+ 0.00       - -0.000      1        -      -  bytes::import
This page took 0.024004 seconds and 4 git commands to generate.