. .

YAPC::EU 2010 - The Renaissance of Perl



Perl on Speed: Multicore Programming for Mortals

Perl on Speed: Multicore Programming for Mortals

By Aaron Crane (‎arc‎) from Edinburgh.pm
Date: Friday, 6 August 2010 12:30
Duration: 20 minutes
Target audience: Intermediate
Language: English
Tags: concurrent efficiency fast fork multicore multiprocessor parallel performance processor programming smp speed unix

You can find more information on the speaker's site:

As multi-core and multi-processor systems become ever more widespread, programmers are faced with a new challenge: writing software that can take full advantage of the parallelism in the hardware.

Concurrent code has a reputation for being tricky to get right, but with the right tools, that needn’t be true. This talk is a case study of how a vanilla serial-execution Perl program was parallelised, using Unix’s fork as the fundamental primitive rather than threads. The simplicity of programming with fork meant that the work only took an evening, but the result is also efficient — we got a near-linear speedup in the number of CPU cores.

If you’ve got code you’d like to run faster on multi-core hardware, this talk will open your eyes to simple, powerful, stable approaches to writing parallel software.

Attended by: Markus Wichmann (‎telemorphix‎), Anders Nielsen (‎anielsen‎), Léon Brocard (‎acme‎), Steffen Schwigon (‎renormalist‎), Smylers, Squeeky, Adam Bartosik, Salvador Fandiño (‎salva‎), Clinton Gormley (‎DrTech‎), Casiano Rodriguez-Leon (‎casiano‎), Oliver Thieke (‎o-thieke‎), J. Nick Koston (‎bdraco‎), Erik Johansen (‎uniejo‎), Karl Rune Nilsen (‎krunen‎), David Faux, Alan Haggai Alavi (‎alanhaggai‎), JJ Allen, Maciej Czekay (‎Bruno‎), Lars Thegler (‎tagg‎), Ronald Blaschke (‎rblasch‎), Damian Conway (‎damian‎), Aaron Crane (‎arc‎), Gabi Hack (‎gabimuc‎), Marco Fontani (‎mfontani‎), Tina Müller (‎tinita‎), Nils Grunwald, Thomas Heine, Henrik Hald Nørgaard, Nicholas Clark, Vincent Pit (‎vincent‎), Reini Urban (‎rurban‎), Alberto Simões (‎ambs‎), Alexey Surikov (‎ksurent‎), Steffen Mueller, Giacomo Gaddini, Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 (‎daxim‎), Diego Kuperman (‎diegok‎), Daniel Brunkhorst, Marko Zagožen (‎mzagozen‎), Alexander Hartmaier (‎abraxxa‎), Imre Saling (‎pelagic‎), Michal Gawlik, Nigel Metheringham (‎nigelm‎), Dave Rolsky (‎autarch‎), Roman Baumer (‎rba‎), Jan Henning Thorsen (‎batman‎), Paul van Eldijk (‎pavel‎), Heinz Knutzen, simotrone, Joerg Meltzer (‎codeacrobat‎), Adrian Arnautu, Joel Bernstein (‎joel‎), Marco Masetti (‎grubert‎), Giel Goudsmit, Dmitry Karasik (‎McFist‎), Chisel Wright, Michele Valzelli, Fulvio Scapin (‎trantorvega‎), Martin Vorländer (‎mvorl‎), Sébastien Aperghis-Tramoni (‎Maddingue‎),

Our sponsors


  • Booking.Com
  • YAPC::Europe 2009
  • cPanel


  • Shadowcat
  • 123 people
  • Venda
  • Dada


  • YAPC::Europe Foundation
  • Smart Open Software
  • MySQL
  • Exonetric
  • pair Networks


  • GitHub
  • Italpro
  • Geoesse
  • $foo Perl Magazin
  • Lokku
  • Apress
  • No Starch Press
  • O'Reilly Media

Media Partners

  • Linux Magazine


  • Regione Toscana
  • Comune di Pisa