Thanks all for the insights!
To clarify, I have to mention additional constraints that I have for Jython scripting:
I plan to use Jython scripts in the load testing tool SLAMD (http://www.slamd.com/
), implemented in Java, that has a notion of a 'ScriptJob'. ScriptJob can be written in SLAMD own script language (very limitted) or in any other Java-based scripting language complying with BSF (Bean Scripting Framework) . SLAMD can run every ScriptJob in any number of threads, thus simulating 'virtual users'. SLAMD does not care what script it runs - its own very limited and lightweight or Jython, JRuby, etc. It just starts as many threads as requested.
Thus, by default, SLAMD will start a separate Jython machine in every thread!
So my questions:
1) How much will it cost to run a separate Jython machine in every thread?
2) Any ideas on how these Jython machines can communicate? As I understand, as soon as they come frome one and the same classloader, a symnchronized singleton class can be designed (also loaded by the same SLAMD classloader) to provide some sort of local (inside one and the same JVM) message service. Maybe local tuplespace ... ?
Dmitri O. Kondratiev