git-cpan-module: SOAP-WSDL git-cpan-version: 2.00_29 git-cpan-authorid: MKUTTER git-cpan-file: authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00_29.tar.gz
56 lines
2.1 KiB
Perl
56 lines
2.1 KiB
Perl
use strict;
|
|
use warnings;
|
|
use Benchmark;
|
|
use lib '../../lib';
|
|
use lib '../../../Class-Std-Fast/lib';
|
|
|
|
use SOAP::WSDL::XSD::Typelib::Builtin::string;
|
|
|
|
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::string->new();
|
|
|
|
timethese 20000, {
|
|
'new' => sub { SOAP::WSDL::XSD::Typelib::Builtin::string->new() },
|
|
'new + params' => sub { SOAP::WSDL::XSD::Typelib::Builtin::string->new({
|
|
value => 'Teststring'
|
|
}) },
|
|
};
|
|
|
|
$obj->set_value('Foobar');
|
|
timethese 20000, {
|
|
serialize => sub { $obj->serialize() }
|
|
};
|
|
|
|
my $data;
|
|
timethese 1000000, {
|
|
'set_FOO' => sub { $obj->set_value('Test') },
|
|
'get_FOO' => sub { $data = $obj->get_value() },
|
|
};
|
|
|
|
|
|
|
|
__END__
|
|
|
|
Benchmark: timing 20000 iterations of new, new + params...
|
|
new: 1 wallclock secs ( 0.41 usr + 0.00 sys = 0.41 CPU) @ 48780.49/s (n=20000)
|
|
new + params: 1 wallclock secs ( 0.53 usr + 0.01 sys = 0.54 CPU) @ 37037.04/s (n=20000)
|
|
Benchmark: timing 1000000 iterations of get_FOO, set_FOO...
|
|
get_FOO: 2 wallclock secs ( 1.43 usr + 0.01 sys = 1.44 CPU) @ 694444.44/s (n=1000000)
|
|
set_FOO: 0 wallclock secs ( 1.43 usr + 0.01 sys = 1.44 CPU) @ 694444.44/s (n=1000000)
|
|
|
|
|
|
::Fast
|
|
---
|
|
Benchmark: timing 20000 iterations of new, new + params...
|
|
new: 0 wallclock secs ( 0.44 usr + 0.01 sys = 0.45 CPU) @ 44444.44/s (n=20000)
|
|
new + params: 1 wallclock secs ( 0.55 usr + 0.00 sys = 0.55 CPU) @ 36363.64/s (n=20000)
|
|
Benchmark: timing 1000000 iterations of get_FOO, set_FOO...
|
|
get_FOO: 0 wallclock secs ( 0.81 usr + 0.00 sys = 0.81 CPU) @ 1234567.90/s (n=1000000)
|
|
set_FOO: 2 wallclock secs ( 0.87 usr + 0.01 sys = 0.88 CPU) @ 1136363.64/s (n=1000000)
|
|
|
|
::Fast with inlined ID
|
|
Benchmark: timing 20000 iterations of new, new + params...
|
|
new: 0 wallclock secs ( 0.41 usr + 0.00 sys = 0.41 CPU) @ 48780.49/s (n=20000)
|
|
new + params: 1 wallclock secs ( 0.52 usr + 0.00 sys = 0.52 CPU) @ 38461.54/s (n=20000)
|
|
Benchmark: timing 1000000 iterations of get_FOO, set_FOO...
|
|
get_FOO: 2 wallclock secs ( 0.80 usr + 0.00 sys = 0.80 CPU) @ 1250000.00/s (n=1000000)
|
|
set_FOO: 2 wallclock secs ( 0.89 usr + -0.01 sys = 0.88 CPU) @ 1136363.64/s (n=1000000) |