Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Best min. version of perl for use with C embedding?

by rurban (Scribe)
on May 28, 2014 at 15:33 UTC ( [id://1087671]=note: print w/replies, xml ) Need Help??


in reply to Best min. version of perl for use with C embedding?

I test extensively with embedding (compiling to C) across all versions and most OS for a commercial environment on the net.

5.6.2 with hardened hashes is the best, memory efficient and speed wise. I know of no leaks. I posted my hash patch to p5p some year ago.

The 2nd best is 5.14.4 but it has the mandatory unicode and warnings/Carp overhead. regex cannot exhaust the stack since 5.10 but anything between 5.10.0 and 5.14.4 is not recommended.
I don't have the hash patch for 5.8 which would be needed for 5.8.2 - 5.8.9 (5.8.1 is fine, but then 5.6.2 is better)

I would also strongly recommend against 5.16 or 5.18 for security and maturity reasons, and 5.16 is very half-baked in handling binary names. 5.18.2 still not good enough to be trusted in the wild and hashes are slower.

5.20.0 is a bit better. It tests now at least against rogue syscalls, but still not against binary names, unicode is taking too much time and memory and random hash seeds got more secure but slower.

I wouldn't trust perlpolicy too much as p5p doesn't even understand the simpliest security concepts needed in the commercial environment and does nothing against them. They usually need to year to get it. And they are not too familiar with the code they are supporting. Their release schedule is fixed, so you cannot trust numbers, you can only trust stability, which needs a few major versions.

So:

  1. 5.14.4
  2. 5.6.2
  3. 5.20.0
perlbrew and perlall apply the needed patches to build, perlall also has some more patches to help embedding with --allpatches. --patches=Asan against buffer overflows and --patches=Compiler to help perlcc for better embedding code.
  • Comment on Re: Best min. version of perl for use with C embedding?

Replies are listed 'Best First'.
Re^2: Best min. version of perl for use with C embedding?
by rurban (Scribe) on May 28, 2014 at 15:44 UTC
    Oops, I forgot the COW mess with 5.20.

    You need to skip 5.20 for a while until COW gets usable and stable. I'm waiting for the next major, but I'm saying the same since 5.16.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1087671]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (2)
As of 2026-04-18 01:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.