Peter Makholm > Benchmark-Serialize-0.08 > Benchmark::Serialize::Library::ProtocolBuffers

Download:
Benchmark-Serialize-0.08.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  3
Open  0
View/Report Bugs
Source  

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.

syntax highlighting: