Just did some profiling with NYTProf. You waste huge amounts of time in
Data::Dumper. The reason is:
__Debug( Dumper $response )
This *always* calls Dumper() even if $Debug is not set -- you just
don't print what Dumper() returns. Factor 2 to 3 speedup is possible
fixing this!
Profiling also hints (read: I'm not so sure here) at slowdowns from
frequent copying of big strings. E.g. (Client.pm, line 399):
$self->Stream( $self->Stream . $newData );
$self->{stream} .= $newData is a breach of encapsulation but faster :-)
For similar reasons, calls to MessageQuantizer::Quantize() seem to be
very expensive. Maybe you can pass and return by reference: \$self->
{stream} ?
Also, please update Docs to include code samples that actually work.
E.g. "TCP:ListenPort" now seems to be "TCP:Port". "LocalAddr" is also
not reconized.
Besides these: Nice module. Works well for me so far. Thanks for
writing it.
Wolfram