FFI::Performance - Benchmarks and tests for Perl + FFI + Performance
perl Build.PL
./Build
perl -Mblib bin/ffi-performance-benchmark
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, FFI::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 FFI::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 ppw2014
.
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
- FFI::Platypus
- FFI::Raw
- FFI::Util
-
pointer trickiness
- FFI::CheckLib
-
Detect and find DLLs / shared libraries à la ExtUtils::CheckLib
- FFI::TinyCC
-
caveat laden JITish for FFI
- FFI based extensions
- libffi
- Ruby FFI
- Python's Ctypes
Graham Ollis <plicease@cpan.org>
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.