[Freeswitch-dev] TraceMonkey

David Elbel david.elbel at gmail.com
Fri Jul 2 03:45:58 PDT 2010


check out automatic locking in the c++ wrapper of spidermonkey, sorry I
forgot the api names but they are fairly simple to find out.
Then, your bottleneck isn't javascript anymore (unless somebody can prove me
wrong! :)

On Thu, Jul 1, 2010 at 7:47 PM, Anthony Minessale <
anthony.minessale at gmail.com> wrote:

> Can you have 1 context per thread the same way we do it now in the other
> languages?
> lua has a similar limitation but we just start a whole lua interpreter per
> thread/script.
>
>
> On Thu, Jul 1, 2010 at 8:51 PM, Jan Berger <jan.berger at video24.no> wrote:
>
>>  So in short – if a call executes a long script the other calls will be
>> queued unable to process events – V8 is a joke as a scripting environment if
>> you can’t create multiple environments.
>>
>>
>>
>> I kind of see a poor IVR developer that accidentally made an ever loop and
>> the entire companies phone system is down J
>>
>>
>>
>> Obviously – I can get around it using several processes, but processes are
>> bloody expensive on any OS.
>>
>>
>>
>> ---
>>
>>
>>
>> Will have a chat with the Danes about this one – thanks.
>>
>>
>>
>> Jan
>>
>>
>>  ------------------------------
>>
>> *From:* Joegen E. Baclor [mailto:joegen at opensipstack.org]
>> *Sent:* 2. juli 2010 03:27
>> *To:* Jan Berger
>> *Cc:* freeswitch-dev at lists.freeswitch.org
>>
>> *Subject:* Re: [Freeswitch-dev] TraceMonkey
>>
>>
>>
>> For some reason, my email address is being blocked by the moderator so the
>> list is not getting this mail.   The problem with v8 threading is really
>> simple.
>>
>> 1.  Google V8 only allows one context to execute at a time.
>> 2.  If you are using multiple context design, they must be executed using
>> exactly the same thread via a single event loop.
>>
>> Failure to do this will result to a corrupt stack.
>>
>>
>>
>> On 7/2/10 9:06 AM, Jan Berger wrote:
>>
>> What exactly is the problem with threading?
>>  ------------------------------
>>
>> *From:* Joegen E. Baclor [mailto:joegen at opensipstack.org<joegen at opensipstack.org>]
>>
>> *Sent:* 2. juli 2010 02:40
>> *To:* freeswitch-dev at lists.freeswitch.org
>> *Cc:* Jan Berger
>> *Subject:* Re: [Freeswitch-dev] TraceMonkey
>>
>>
>>
>> I have been using Google V8 for nearly a year now in one of our commercial
>> SIP product offerings and it scales quite well.   The only gotcha so far is
>> that google V8 contexts do not go well with a multi threaded environment.
>> That would force application design to always use async-IO.   One good proof
>> of this all async project is node.js.
>>
>> http://nodejs.org/
>>
>> I think it would also be a good idea to integrate this project into
>> free-switch which would instantly give free-switch access to a vast number
>> of JS API including sockets and HTTP client.
>>
>> my 2 cents.
>>
>> Joegen
>>
>> On 7/2/10 7:24 AM, Jan Berger wrote:
>>
>> I almost fell asleep when I reached the instruction to download Phython...
>>
>>
>>
>> But, once you’ve done phyton + scons its basically just setting the
>> correct parameters on scons from what I can see.
>>
>>
>>
>> Looked a bit into Chrome source as well – considering nicking parts of it.
>> CCXML/VXML is after all browsers.
>>
>>
>>
>> ---
>>
>>
>>
>> Actually I did not realize that Google was building their own Inet-OS.
>> What could be very cool was if we could get a Videophone running on Chrome
>> to connect to FreeSWITCH – it will be plenty of iPad alike devices out
>> running Chromium soon.
>>
>>
>>
>> Jan
>>
>>
>>
>>
>>
>>
>>  ------------------------------
>>
>> *From:* freeswitch-dev-bounces at lists.freeswitch.org [
>> mailto:freeswitch-dev-bounces at lists.freeswitch.org<freeswitch-dev-bounces at lists.freeswitch.org>]
>> *On Behalf Of *Anthony Minessale
>> *Sent:* 1. juli 2010 20:05
>> *To:* freeswitch-dev at lists.freeswitch.org
>> *Subject:* Re: [Freeswitch-dev] TraceMonkey
>>
>>
>>
>> it took me a while to figure out how to build v8 with 64 bit, and now i
>> forgot again.
>>
>> it uses scons to build and I wish i could remember because it took me an
>> hour to figure it out.
>>
>> lucky for us FS mods can be c++ so it would be plausible to make a mod_v8
>>
>> On Thu, Jul 1, 2010 at 11:55 AM, Jan Berger <jan.berger at video24.no>
>> wrote:
>>
>> Yes – I am going to give V8 a try actually – this looks very promising.
>> Got a bit lost in the jungle of all the monkey’s J
>>
>>
>>
>> The compiler side of Tamarin is not ready yet + it’s also been complains
>> that it’s slower than SpiderMonkey on the VM.
>>
>>
>>  ------------------------------
>>
>> *From:* freeswitch-dev-bounces at lists.freeswitch.org [mailto:
>> freeswitch-dev-bounces at lists.freeswitch.org] *On Behalf Of *Anthony
>> Minessale
>> *Sent:* 1. juli 2010 17:56
>>
>>
>> *To:* freeswitch-dev at lists.freeswitch.org
>>
>> *Subject:* Re: [Freeswitch-dev] TraceMonkey
>>
>>
>>
>> We've been waiting for a modern js engine to mature since shortly after we
>> started FS.
>>
>>
>>
>> V8 has promise as well.  It's a matter of making sure there is a good
>> choice before doing all the work of integration.
>>
>>
>>
>>
>>
>> On Thu, Jul 1, 2010 at 3:56 AM, Jan Berger <jan.berger at video24.no> wrote:
>>
>> https://wiki.mozilla.org/JaegerMonkey
>>
>>
>>
>> Didn’t see this – might be an easier path to just wait for this to mature.
>>
>>
>>
>> Jan
>>
>>
>>  ------------------------------
>>
>> *From:* freeswitch-dev-bounces at lists.freeswitch.org [mailto:
>> freeswitch-dev-bounces at lists.freeswitch.org] *On Behalf Of *Jan Berger
>> *Sent:* 1. juli 2010 10:38
>>
>>
>> *To:* freeswitch-dev at lists.freeswitch.org
>>
>> *Subject:* [Freeswitch-dev] TraceMonkey
>>
>>
>>
>> Hi,
>>
>>
>>
>> Was searching for updated JavaScript alternatives and found this
>> Tamarin/TraceMonkey. Do anyone have experience with this version? They claim
>> a 5-10 x speed increase compared to the older SpiderMonkey
>>
>>
>>
>> “*Tamarin* is a JavaScript <https://developer.mozilla.org/en/JavaScript>engine written in C++. It currently implements Adobe ActionScript™ 3 (a
>> superset of ECMAScript Edition 3) and is embedded within the Adobe® Flash®
>> Player versions 9 and later.  Tamarin's jit-compiler,  NanoJIT, is also used
>> in TraceMonkey <https://wiki.mozilla.org/JavaScript:TraceMonkey> ergo
>> SpiderMonkey, which is Mozilla’s JavaScript engine in Firefox.”
>>
>>
>>
>> https://developer.mozilla.org/en/Tamarin#Get_Involved!
>>
>>
>>
>> Is anyone interested in having a mod_tracemonkey for FreeSWITCH – or is
>> someone already working on this?
>>
>>
>>
>> Jan
>>
>>
>>
>>
>> _______________________________________________
>> FreeSWITCH-dev mailing list
>> FreeSWITCH-dev at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>> http://www.freeswitch.org
>>
>>
>>
>>
>> --
>> Anthony Minessale II
>>
>> FreeSWITCH http://www.freeswitch.org/
>> ClueCon http://www.cluecon.com/
>> Twitter: http://twitter.com/FreeSWITCH_wire
>>
>> AIM: anthm
>> MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
>> IRC: irc.freenode.net #freeswitch
>>
>> FreeSWITCH Developer Conference
>> sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
>> googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
>> pstn:+19193869900
>>
>>
>> _______________________________________________
>> FreeSWITCH-dev mailing list
>> FreeSWITCH-dev at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>> http://www.freeswitch.org
>>
>>
>>
>>
>> --
>> Anthony Minessale II
>>
>> FreeSWITCH http://www.freeswitch.org/
>> ClueCon http://www.cluecon.com/
>> Twitter: http://twitter.com/FreeSWITCH_wire
>>
>> AIM: anthm
>> MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
>> IRC: irc.freenode.net #freeswitch
>>
>> FreeSWITCH Developer Conference
>> sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
>> googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
>> pstn:+19193869900
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>> FreeSWITCH-dev mailing list
>>
>> FreeSWITCH-dev at lists.freeswitch.org
>>
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>>
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>>
>> http://www.freeswitch.org
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> FreeSWITCH-dev mailing list
>> FreeSWITCH-dev at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>> http://www.freeswitch.org
>>
>>
>
>
> --
> Anthony Minessale II
>
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> Twitter: http://twitter.com/FreeSWITCH_wire
>
> AIM: anthm
> MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
> googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
> pstn:+19193869900
>
> _______________________________________________
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100702/4447a07a/attachment-0001.html 


More information about the FreeSWITCH-dev mailing list