On Tue, 25 Jun 2013 17:02:43 +0900 Carsten Haitzler (The Rasterman)
<ras...@rasterman.com> wrote:

> On Tue, 25 Jun 2013 11:36:10 +1000 David Seikel <onef...@gmail.com>
> said:
> 
> > On Tue, 25 Jun 2013 10:06:10 +0900 Cedric BAIL <cedric.b...@free.fr>
> > wrote:
> > 
> > > Right now only a thought exercice, but you can get info there :
> > > https://phab.enlightenment.org/w/bob/ .
> > 
> > Definitely something my LuaJIT experiments will be good for.
> > 
> > "A daemon could be in charge of generating the JIT and thus sharing
> > information across processes (Does LuaJIT allow for this?)."
> 
> this is way too premature in terms of optimizing imho. sure - having
> N apps all go run their own jit on the same bit of lua is
> inefficient. having it jitted once and shared is much better. but how
> do we share jitted code sensibly so it can be executed in N places
> safely? we would need to share jitted code inside mmaped shared
> memory segs mmaped to the same absolute addresses, unless we modified
> the jit engine to use base address relative code generation... ugh!.
> or we run it all in the server and ipc results/input to and fro? ...
> hmm ewww...
> 
> > If that means that some EFL based C code is generating and compiling
> > Lua code, in response to commands from a socket, then yes.  If that
> > also includes running the results in a threaded way with message
> > passing, then also yes (same daemon).  I have these working
> > already.  Designed to deal with thousands of Lua scripts running at
> > once, and using LuaJIT. I've mentioned this before.
> 
> right now thoughts are along the lines of every object type (widget?
> or part in edje) is really a bunch of lua to implement it - or to
> calculate it and hand off to a "go implement this state for me"
> code...
> 
> what i'd like to see is for it to be easily parallelisable into
> threads. so we can calculate lots of params/parts in parallel when
> possible (independent calc paths - eg of 2 child branches before
> parent has to look at results of children) etc. thus why calc vs
> implement should be stages.. maybe lua tables with functions
> (methods) to implement calc , implement, etc. etc. - don't know.
> thought exercise atm.

My point is that this sort of thing is not just a thought exercise
for me, I've done a lot of the work already for another project.  I was
always keeping Edje Lua in mind when I did it though, thinking some of
the work could apply there.  Naturally I used EFL for this project.
B-)

It's a virtual world scripting engine.  Second Life / OpenSim virtual
worlds are made of 256 x 256 meter sims, with hundreds or thousands of
these sims in any given world.  Each sim might have several thousand LSL
scripts running, and in a lot of cases most of those scripts are just
multiple copies of the same dozen scripts.  So I've been writing a
daemon that generates Lua scripts (translated from pre existing LSL
scripts), then compiles and runs them with LuaJIT, using a threaded
worker queue with message passing system.  Getting it to run fast and
use minimal resources is important for this project.  I don't want
thousands of these same dozen scripts soaking up memory, I want one of
each.

This daemon will also run in the virtual world viewer, driving Edje
UIs via Edje Lua.

I got a lot of the bob bits already sorted out, before I knew there
was a bob.  B-)

-- 
A big old stinking pile of genius that no one wants
coz there are too many silver coated monkeys in the world.

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to