--- /dev/null
+# -*-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