import SOAP-WSDL 2.00.04 from CPAN
git-cpan-module: SOAP-WSDL git-cpan-version: 2.00.04 git-cpan-authorid: MKUTTER git-cpan-file: authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00.04.tar.gz
This commit is contained in:
committed by
Michael G. Schwern
parent
e58a27e2ad
commit
c3e3d1908e
@@ -82,17 +82,17 @@ my $person = {
|
||||
my $compile = XML::Compile::WSDL11->new('../example/wsdl/Person.wsdl',
|
||||
sloppy_integers => 1,
|
||||
check_values => 0,
|
||||
check_values => 0,
|
||||
validation => 0,
|
||||
ignore_facets => 1,
|
||||
);
|
||||
|
||||
#
|
||||
# Call all variants once to allow their first-time tasks to be done
|
||||
#
|
||||
|
||||
my $call = $compile->compileClient('ListPerson');
|
||||
$call->({ in => undef});
|
||||
|
||||
# Initialize SOAP::Lite
|
||||
my $deserializer = SOAP::Deserializer->new();
|
||||
|
||||
# Initialize SOAP::WSDL interface
|
||||
my $soap = MyInterfaces::TestService::TestPort->new();
|
||||
# Load all classes - XML::Compile has created everything before, too
|
||||
@@ -102,6 +102,15 @@ my $lite = SOAP::Lite->new()->default_ns('http://www.example.org/benchmark/')
|
||||
->proxy('http://localhost:81/soap-wsdl-test/person.pl');
|
||||
$lite->on_action( sub { 'http://www.example.org/benchmark/ListPerson' } );
|
||||
|
||||
$lite->ListPerson();
|
||||
|
||||
my $lite_xml = SOAP::Lite->new()->default_ns('http://www.example.org/benchmark/')
|
||||
->proxy('http://localhost:81/soap-wsdl-test/person.pl');
|
||||
$lite_xml->on_action( sub { 'http://www.example.org/benchmark/ListPerson' } );
|
||||
$lite_xml->outputxml(1);
|
||||
|
||||
$lite_xml->ListPerson();
|
||||
|
||||
# # register for SOAP 1.1
|
||||
SOAP::WSDL::Factory::Deserializer->register('1.1' => 'SOAP::WSDL::Deserializer::XSD_XS' );
|
||||
my $wsdl_xs = MyInterfaces::TestService::TestPort->new();
|
||||
@@ -114,24 +123,34 @@ SOAP::Lite - $SOAP::Lite::VERSION
|
||||
SOAP::WSDL - $SOAP::WSDL::Client::VERSION
|
||||
SOAP::WSDL_XS - $SOAP::WSDL::Deserializer::XSD_XS::VERSION;
|
||||
XML::Compile::SOAP - $XML::Compile::SOAP::VERSION
|
||||
XML::Simple - $XML::Simple::VERSION
|
||||
|
||||
XML::Simple uses XML::Parser as backend and SOAP::Lite with
|
||||
outputxml(1) set as SOAP client.
|
||||
XML::Parser - $XML::Parser::VERSION
|
||||
|
||||
XML::Simple is not benchmarked in run 3ff, as it is expected
|
||||
do deliver the same result.
|
||||
|
||||
Benchmark $n: Store result in private variable and destroy it
|
||||
";
|
||||
$n++;
|
||||
cmpthese $count, {
|
||||
'SOAP::WSDL' => sub { my $result = $soap->ListPerson({}) },
|
||||
'XML::Compile' => sub { my $result = $call->() },
|
||||
'SOAP::WSDL_XS' => sub { my $result = $wsdl_xs->ListPerson({}) },
|
||||
'SOAP::Lite' => sub { my $som = $lite->call('ListPerson') },
|
||||
'SOAP::WSDL' => sub { my $result = $soap->ListPerson({}) },
|
||||
'SOAP::WSDL_XS' => sub { my $result = $wsdl_xs->ListPerson({}) },
|
||||
'XML::Compile' => sub { my $result = $call->() },
|
||||
'XML::Simple' => sub { my $result = XMLin( $lite_xml->call('ListPerson')) },
|
||||
};
|
||||
|
||||
print "\nBenchmark $n: Push result on list\n";
|
||||
$n++;
|
||||
cmpthese $count, {
|
||||
'SOAP::WSDL' => sub { push @data, $soap->ListPerson({}) },
|
||||
'XML::Compile' => sub { push @data, $call->() },
|
||||
'SOAP::WSDL_XS' => sub { push @data, $wsdl_xs->ListPerson({}) },
|
||||
'SOAP::Lite' => sub { push @data, $lite->call('ListPerson') },
|
||||
'SOAP::WSDL' => sub { push @data, $soap->ListPerson({}) },
|
||||
'SOAP::WSDL_XS' => sub { push @data, $wsdl_xs->ListPerson({}) },
|
||||
'XML::Compile' => sub { push @data, $call->() },
|
||||
'XML::Simple' => sub { push @data, XMLin( $lite_xml->call('ListPerson')) },
|
||||
};
|
||||
|
||||
@data = ();
|
||||
|
||||
@@ -5,7 +5,7 @@ use lib '../../SOAP-WSDL_XS/blib/arch';
|
||||
use strict;
|
||||
use Benchmark;
|
||||
use Storable;
|
||||
#use SOAP::WSDL::Deserializer::XSD_XS;
|
||||
use SOAP::WSDL::Deserializer::XSD_XS;
|
||||
use SOAP::WSDL::Factory::Deserializer;
|
||||
# # register for SOAP 1.1
|
||||
SOAP::WSDL::Factory::Deserializer->register('1.1' => 'SOAP::WSDL::Deserializer::XSD_XS' );
|
||||
@@ -16,10 +16,10 @@ my @data = ();
|
||||
my $soap = MyInterfaces::TestService::TestPort->new();
|
||||
|
||||
# Load all classes - XML::Compile has created everything before, too
|
||||
#timethis 100, sub { $soap->ListPerson({}) };
|
||||
#timethis 50, sub { push @data, $soap->ListPerson({}) };
|
||||
#@data = ();
|
||||
# timethis 50, sub { push @data, $soap->ListPerson({}) };
|
||||
timethis 150, sub { $soap->ListPerson({}) };
|
||||
timethis 300, sub { push @data, $soap->ListPerson({}) };
|
||||
@data = ();
|
||||
timethis 300, sub { push @data, $soap->ListPerson({}) };
|
||||
|
||||
# for (1..50) { push @data, $soap->ListPerson({}) };
|
||||
#print $soap->ListPerson({});
|
||||
|
||||
Reference in New Issue
Block a user