README.pod

March 6, 2015 · View on GitHub

=encoding utf8

=head1 NAME

FFI::Performance - Benchmarks and tests for Perl + FFI + Performance

=head1 SYNOPSIS

perl Build.PL ./Build perl -Mblib bin/ffi-performance-benchmark

=head1 DESCRIPTION

This code was originally hacked together to get some relative benchmarks for a talk that I gave at the Pittsburgh Perl Workshop in 2014. At that time, LFFI::Platypus was just a prototype (and the interface was quite different), but the "killer feature" which is the ability to attach a C function as a Perl xsub was already there. Since then LFFI::Platypus has been completely re-written and now provides practical FFI bindings for Perl. I've kept this companion non-CPAN distrubtion up to date to use the now production Platypus interface. The code as it was when I gave the PPW talk is tagged as C.

What follows is the text I wrote after the talk:

This is the companion code to a talk that I gave at the Pittsburgh Perl Workshop 2014. Here is a recording:

https://www.youtube.com/watch?v=uq2mgTOtbhM&t=7m47s&noredirect=1

(starts at about 7:45 if the link does not take you directly to the beginning of the talk).

The slides are a little hard to read on the recording and you can see them here:

https://docs.google.com/presentation/d/1zUT91W5qDq8eoDYWNpfn-DQABcLCyl_M-xbz5obAI_U/edit

This was apparently the scariest part of my talk:

https://twitter.com/mikegrb/status/531186796450033664/photo/1

=head1 SEE ALSO

=over

=item LFFI::Platypus

=item LFFI::Raw

=item LFFI::Util

pointer trickiness

=item LFFI::CheckLib

Detect and find DLLs / shared libraries à la LExtUtils::CheckLib

=item LFFI::TinyCC

caveat laden JITish for FFI

=item FFI based extensions

=over

=item LArchive::Libarchive::FFI

=item LCrypt::ZCert

=item LZMQ::FFI

=item LPOEx::ZMQ

=item LFile::LibMagic::FFI

=item LUUID::FFI|http://github.com/plicease/UUID-FFI

=back

=item L<libffi|https://sourceware.org/libffi/>

=item L<Ruby FFI|https://github.com/ffi/ffi/wiki>

=item L<Python's Ctypes|http://docs.python.org/2/library/ctypes.html>

=back

=head1 AUTHOR

Graham Ollis Eplicease@cpan.orgE

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Graham Ollis

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

=cut