in reply to Multiplicity - what the heck is it?

An IRC conversation with Gozer that helped me understand more about it

<phred> multiple interpreter instances in the same process -

 <gozer> phred: theory: yup, pretty much

 <gozer> basically wraps up all interpreter state in a single interpreter structure

 <gozer> (as opposed to a bazillion globals)

 <gozer> so you can create 2 perl interpretersi n a single process

 <gozer> also does make tracking down leaks and stuff easier

 <phred> what good are two interpreters in one process?

 <phred> you're saying they both would 'point' to the same data structure instead of multiple globals?

 <gozer> phred: nope

 <gozer> interp1 = new interp

 <gozer> interp2 = new interp

 <gozer> interp1.eval("use DBI 1.99;")

 <phred> whoa nice

 <gozer> interp2.eval("use DBI 1.23;")

 <gozer> (all pseudo code)

 <phred> that would be a hosting super feature

 <gozer> that is all interpreter pools are implemented in threaded mpms

 <gozer> phred: yup

 <gozer> and you can do things like

 <gozer> interp3 = interp2.clone()

 <phred> thanks for the explanation

  • Comment on Re: Multiplicity - what the heck is it?