|
|
Sun Dec 6 18:15:13 EST 2009
Now maintaining the FreeBSD Qore Port
--
http://www.freshports.org/lang/qore/
http://www.qore.org
I bundled up the Qore programming language into a FreeBSD bundle
recently. It's a really great scripting language that I am using
in some of my PhD research.
I have not run any benchmarks comparing it to Perl's threads (any
of them), but Qore (unlike Perl, or Python for that matter) is
natively multi-threaded. This means that no tricks are required
to "multi-thread" its scripts. Perl, for example, requires that
communication links/pipes be created among multiple heavy weight
Perl processes.
Perl's "forks" module attempts to simplify the interface for
threading, but the base module still must use sockets to facili-
tate communications among "threads". That's right, threading that
is defined implicitly must be enabled explicitly using message
passing. This was partially alleviated through "forks::Berkeley-
DB", but the only improvement was using BerkeleyDB over sockets
for communications. It is still explicit under the hood. What
would be incredibly interesting would be to investigate a
"forks::*" module that interface with a Qore interpreter running,
in tandem. "forks::Qore" would hand off threading to an imbedded
Qore processes; I am not sure how you interface 2 languages like
that, but it would definitely be an interesting thing to investi-
gate.
Qore on the other hand is a truly multi-threaded scripting lan-
guage. It's syntax is similar to Perl's, though it is certainly
not as flexible. It's Perl like enough (on the urface at least)
for me to have picked it up quickly. It definitely deserves some
attention in all areas interested in shared memory parallelism,
rapid prototyping of ideas, and in the creation of multi-threaded
utilities.
--
Powered by vee Copyright © 2006-2010
|
|