[Freeswitch-dev] TraceMonkey

Jan Berger jan.berger at video24.no
Thu Jul 1 19:47:39 PDT 2010

Will find out tomorrow - I see threading in the code. 

It might be a case on how they do the threading. This is after all a VM even
if they use native code - meaning they might do the threading in the VM. In
which case you actually run it from a single thread, but you don't need to
thread V8 itself - it's the scripts you run that must be threaded -
something a VM can do internally.

Take into account that a CISC like x86 have to move a load of register cash
every time it actually thread - so simulating threading in the VM - changing
context between 2 instructions would be a very performance saving thing to

But, I will find out more exact tomorrow because I am only guessing now -
and this is rather critical. 

V8 compiles to a 128 mb library :/ on Windows ...


-----Original Message-----
From: freeswitch-dev-bounces at lists.freeswitch.org
[mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Bret
Sent: 2. juli 2010 03:51
To: freeswitch-dev at lists.freeswitch.org
Subject: Re: [Freeswitch-dev] TraceMonkey

I thought V8 was designed to be multi-threaded from inception.  Maybe I
am confusing my projects.  I wonder if it was the embedding part of it
that did not enable proper threading ???   Then again it could be like
python, where when embedded all threads are virtual to the 1 process
that is running (ie not threads as far as the kernel is concerned) which
can confuse the kernel scheduler into sticking it in the penalty box for
a while.  Normally you are not doing enough in the embedded language to
notice this scheduler issue so its almost a moot point.  Other points
may be valid though.

On Fri, 2010-07-02 at 03:06 +0200, Jan Berger wrote:
> What exactly is the problem with threading? 

FreeSWITCH-dev mailing list
FreeSWITCH-dev at lists.freeswitch.org

More information about the FreeSWITCH-dev mailing list