[Padre-dev] "cpan> install Padre'" on FreeBSD 7.1: Padre requires a perl built using threads

Shmuel Fomberg semuelf at 012.net.il
Sun Mar 1 12:40:22 PST 2009


breno wrote:
>> This is one of the problems I have with the Perl world: non-standard perl.
> I might be missing something here, but isn't:
> sh Configure -de
> Exactly this?

This is exactly one switch too many.
Defaults are a powerful things. Without it, the number of standard 
installations will rise considerably.

> As for threading, the "-de" options just set the default, which is no
> threads. As the config itself explains:
> Note that Perl built with threading support runs slightly slower
> and uses more memory than plain Perl. The current implementation
> is believed to be stable, but it is fairly new, and so should be
> treated with caution.

"is believed to be stable"? "is fairly new"?
We are one major version away from the introduction of threads. It is 
very stable, and certainly not new anymore.
I don't know about you, but threads is one of the major features of Perl 
5.8, together with Unicode. How come building perl without threads is a 
sensible default?

The only reason to build Perl without threads today is for those who 
want to squeeze 2% of performence, and are throwing feature for it.

> On the other hand, on my system, the defaults also added "threads" and
> "threads::shared" to the list of "extensions that can be loaded
> dynamically". I must confess my absolute ignorance here as I have no
> idea whether there's a way (and "how") to load thread support
> dynamically, or if the perl configuration just compiled the threads
> modules for nothing, as I get:

You can't load threads support dynamically.
The main difference between threaded and non-threaded perl is that 
non-threaded perl keep its state in global variable. (for fast access) 
In threaded perl, it need to keep its state in a struct, therefore have 
another level of indirection for every operation.
This difference is in the very heart of the engine, and can not be 
externally changed.

Shmuel.



More information about the Padre-dev mailing list