PDA

View Full Version : perl ithreads, with or without



Maik Musall
2005-01-27, 15:21
Hello,

as a possible solution for the occasional playback pauses that several
people here experienced, and the minute-long non-playback time while
rescanning the library, did anyone here compare running slimserver with
and without ithreads enabled?

ithreads would perhaps improve runtime behaviour in these cases, but
possibly at the cost of stability. I'm about to recompile perl with
ithreads on my gentoo server, but I'm curious if anyone already has
expierences on this.

Regards
--
Maik Musall <maik (AT) musall (DOT) de>
GPG public key 0x856861EB (keyserver: wwwkeys.de.pgp.net)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQFB+WlUi3OLyYVoYesRAvSlAJ9laGlbrxgupytmDk3tZS NbledUYACgkGgK
SgM0AIdHRjxenjbkwIUOgbI=
=4Y7p
-----END PGP SIGNATURE-----

Jack Coates
2005-01-29, 09:51
Maik Musall wrote:
> Hello,
>
> as a possible solution for the occasional playback pauses that several
> people here experienced, and the minute-long non-playback time while
> rescanning the library, did anyone here compare running slimserver with
> and without ithreads enabled?
>
> ithreads would perhaps improve runtime behaviour in these cases, but
> possibly at the cost of stability. I'm about to recompile perl with
> ithreads on my gentoo server, but I'm curious if anyone already has
> expierences on this.
>
> Regards
>

FWIW, I just looked into Perl threading for another project... Maybe I
didn't look hard enough, but I was unimpressed with the stability and
documentation of what I found. I ended up going with Perl's fork()
implementation, which I found works very nicely on Win32. The
implementation turned out to be pretty easy once I found some real usage
documentation (in a post on Use Perl, not in the FM of course :).

I'm not a Perl wizard by any stretch, but at this point my vote for
load-spreading would be for a small master forking and watchdogging
multiple task-oriented processes, largely because it is platform
independent and all three target OS's have good multi-tasking capability.

From a theoretical standpoint there's little difference between threads
and processes, either path will get the same result. It's just a
question of implementation ease. In other words, first one to come up
with a working patch gets to decide how it goes :)

--
Jack at Monkeynoodle dot Org: It's a Scientific Venture...
Riding the Emergency Third Rail Power Trip since 1996!