Optimize Perl5 code for performance freaks.

20 minutes

Beginner

English 

No reason. We just need code that makes processing faster!
Yes! We are performance freak.

In this talk, I'll talk about tips of how to write code in perl that makes processing faster.

Topics:

* XS vs PP implementation
* Example: DateTime vs Time::Piece vs Time::Moment
* Example: Time::Strptime
* Instance cache
* How to cache URI instance?
* How to cache DateTime instance?
* Suppress memory copy.
* use constant.pm
* alias of value. (e.g. @_, Scalar::Alias, experimental::refaliasing)
* Pros and cons of a string `eval`.
* Example: Apache::LogFormat::Compiler
* Optimize regular expressions 

[ Abstract - Talk ]
Attended by:
Lee Johnson
Martin Kjeldsen (‎baest‎)
Vidar Tyldum (‎tyldum‎)
Markus Förster
Andreea Hosu (‎Andreea‎)
Ivan Dmitriev
Heinz Knutzen
Nina Piepiel
FErki
Steffen Schwigon (‎renormalist‎)
Upasana Shukla (‎upasana‎)
Choroba
Dotan Dimet (‎dotandimet‎)
Patrick Mevzek
Todd Rinaldo (‎toddr‎)
Rish
Leon Timmermans (‎leont‎)
Oriol Soriano Vila (‎Uree‎)
Aaron Crane (‎arc‎)
Iaroslav Poliakov
Michał Kotuła
H.Merijn Brand (‎Tux‎)
Dmitry Karasik (‎McFist‎)
Michael Kröll (‎pepl‎)
Olivier Duclos (‎odc‎)
Mike Chamberlain
Michal Jurosz (‎mj41‎)
Bart Wiegmans (‎brrt‎)
Kenta Sato (‎karupanerura‎)
Roland Schmitz (‎roli‎)
Laurent Dami (‎dami‎)
Annette Steinhauer
Mateu Hunter (‎mateu‎)
Cal
Kanika Arora
Ilya Chesnokov (‎ichesnokov‎)
Eleatzar Colomer (‎eleatzar‎)
Tudor Constantin
Leif-Arne Utvik
Dave Sherohman (‎dsheroh‎)
Stevan Little (‎stevan‎)
Nicholas Clark
Jose Luis Martinez Torres (‎JLMARTIN‎)
Ivan Kruglov
Maxim Vuets (‎mvuets‎)
Bartosz Jakubski (‎migo‎)
Rui Patinha (‎rfp‎)
Rikus Goodell
Peter Makholm (‎brother‎)
Salvador Fandiño (‎salva‎)
Kang-min Liu (‎gugod‎)
Gligan Horea (‎Horea‎)
James E Keenan (‎kid51‎)
Reini Urban (‎rurban‎)
Tudor Crisan
Anatoliy Dmytriyev (‎tolid‎)
Jan Henning Thorsen (‎batman‎)
Jean Forget
Manfred Heumann (‎confuseAcat‎)
Mihai Pop
Anton Berezin (‎Grrrr‎)
Martin Cermak
Marco Pessotto (‎melmothx‎)
Ali Zia
Dirk De Nijs (‎ddn123456‎)