NAME

Benchmark::Serialize::Library::ProtocolBuffers - Google::ProtocolBuffers benchmarks

SYNOPSIS

    # Load protocol specification from file:
    Benchmark::Serialize::Library::ProtocolBuffers->register( 
        ProtocolBuffer1 => "test.proto"
    );

    # Load protocol specification from string
    Benchmark::Serialize::Library::ProtocolBuffers->register( 
        ProtocolBuffer2 => \"
            message Person { ... }
        "
    );

    # Autogenerate specification from structure
    Benchmark::Serialize::Library::ProtocolBuffers->register( 
        ProtocolBuffer3 => { foo => 17, bar => [ qw( xyzzy plugh ) ] }
    );

DESCRIPTION

This module adds benchmarks for Google::ProtocolBuffers to Benchmark::Serialize. The protocol class can either be defined by using the interface definition language 'proto' or by autogeneration it from a given structure.

All benchmarks generated by this module will have the benchmark tag :ProtocolBuffers

METHODS

The following class methods is supported

register $name => $proto, %options

Registers a benchmark of the protocol specified by $proto with the benchmark name $name. The module make a best guess of the class name to use for encoding. If this fails it can be forced by using a class => $classname option.

SEE ALSO

Google::ProtocolBuffers

AUTHOR

Peter Makholm, <peter at makholm.net>

BUGS

Please report any bugs or feature requests to bug-benchmark-serialize at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Benchmark-Serialize. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

COPYRIGHT & LICENSE

Copyright 2009-2010 Peter Makholm.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.