On Fri, Aug 1, 2014 at 9:11 AM, Jameson Nash <[email protected]> wrote:
> There isn't much benefit to running multiple julia instances from one > binary, since Julia uses many c libraries, and these have generally not > been written with this in mind. > Yes, also a problem, although threads may raise similar issues. > It might be faster to internally pass around pointer to the TLS in a > register, since many functions need to access the GC-frame, so we might > still want to do that for a different reason. But the external interface > can just pull that information out of TLS, and maintaining thread-local > state is not the same as having independent instances in one process. > My understanding – and Keno can probably correct me if I'm wrong here – is that the fast way of doing TLS basically does just store it in a register. However, there may be situations where Julia is called in a way that it can't use the fast TLS mechanism (e.g. when libjulia is loaded as a shared library), in which case avoiding slow TLS lookups wherever possible would help in those cases.
