On Mon, 16 Dec 2013 20:43:05 +0900 Carsten Haitzler (The Rasterman) <ras...@rasterman.com> wrote:
> On Mon, 16 Dec 2013 08:39:47 +0100 dumblob <dumb...@gmail.com> said: > > > Thank you. If I got it correctly, it will be possible to use BÖBs C > > API from parallel threads without being afraid something will break > > up. That's neat and I'll look forward to testing first alpha > > versions in a few years :). > > no - unlikely unless we got to lots of effort to make the c api > threadsafe. most of efl is not threadsafe. only eina and eet are, > with ecore (some of it) optionally. since bob will interface directly > to evas - thus evas's api would need to be threadsafe for bob to be > threadafe and... we're not likely doing this. marshall all your bob > calls back to the mainloop and do them there. we have plenty of infra > for just that without any locks. Just as a point of interest, my experiments with using LuaJIT in EFL found that the Lua stuff itself is threadsafe so long as we use a thread safe memory allocator, which LuaJIT itself provides. The memory allocator we currently use in Edje Lua is not thread safe. I've been meaning to ask, do we have a threadsafe memory allocator in Eina? You are correct though, the rest of EFL is not as thread safe. My LuaJIT experiments involved enough message passing to deal with the "marshall all your bob calls back to the mainloop" you mentioned. > > 2013/12/16 Carsten Haitzler <ras...@rasterman.com> > > > > > On Mon, 16 Dec 2013 06:25:54 +0100 Thanatermesis < > > > thanatermesis.e...@gmail.com> > > > said: > > > > > > > > slight problem is that in the process of ensuring edje does > > > > > its job, the over-engineering made it look like something > > > > > different, > > > and > > > > that > > > > > is where suddenly it looks bad because people use it as > > > > > "something > > > > different" > > > > > then find all the creaky edge cases. > > > > > > > > Can you tell me which "creaky edge cases" ? I never found edge > > > > bad > > > designed > > > > or anything wrong at all on it, im talking of course about the > > > > edge that > > > I > > > > met a good number of years ago but i assume that we still > > > > having the same one, just more improved :) > > > > > > > > For what something different people wanted to use it ? > > > > > > i have seen many people propose edje as the solution to glade - > > > as a complete > > > ui builder solution. i've seen them expect it to do things that > > > elm boxes, tables etc. etc. do and do it completely. it's very > > > hard to do synamic layouts > > > (lists etc.) purely in edje. it's designed mostly around an > > > element with a fixed number of things (labels, etc.) and a fixed > > > known number of states. > > > > > > > > bob is accepting that reality and trying to make something > > > > > closer to > > > what > > > > > people have expected edje to be. > > > > > > > > And what expects people edje to be ? > > > > > > above. they expect it to be a replacement for glade and/or qml > > > etc. etc. > > > > > > > 2013/12/16 Carsten Haitzler <ras...@rasterman.com> > > > > > > > > > On Sun, 15 Dec 2013 17:48:37 +0100 dumblob > > > > > <dumb...@gmail.com> said: > > > > > > > > > > bob would not be bob if it was not tied to a single specific > > > > > language. > > > lua > > > > > (via > > > > > luajit) is at least the target we think is best. basically > > > > > instead of implementing stuff with edc to design ui elements, > > > > > you use lua to do > > > the > > > > > same. > > > > > lua is a data file. it is what implements the abstraction. > > > > > the idea is that bob > > > > > COMES with a small mountain of pre-made lua "bobjects" that > > > > > already > > > work > > > > > (and > > > > > build on top of each-other via inheritance or other > > > > > mechanisms). > > > > > > > > > > the other side of bob is a c library with c apis. just like > > > > > efl is > > > today. > > > > > no > > > > > different. you expose state/data to bob from the c side (and > > > > > bob can > > > expose > > > > > data/state back to you). bob (the c library) handles the > > > > > infra for > > > this - > > > > > threading infra too, mainloop integration, sandboxing etc. > > > > > etc. > > > > > > > > > > bob is fundamentally no different to edje in the very high > > > > > level > > > design. > > > > > the > > > > > difference is what is under the covers. how state is > > > > > held/handled. how state/data is exchanged/shared, how data is > > > > > implemented (edc + embryo > > > lua > > > > > atm > > > > > and bob would just be plain luajit with the above infra). bob > > > > > is a > > > result > > > > > of > > > > > lessons learned from edje over the years. > > > > > > > > > > edje was designed as nothing more than a "smart png with > > > > > layers". eg a > > > psd > > > > > or > > > > > xcf file really. a png that can resize intelligently (not just > > > stretch) as > > > > > well > > > > > as throw in some simple states of that image (normal, > > > > > activated, > > > disabled) > > > > > and > > > > > some transitions. that was edje's design goal and intent. > > > > > > > > > > of course it was over-engineered for the job to ensure it > > > > > covers that > > > job > > > > > as > > > > > fully as it can. slight problem is that in the process of > > > > > ensuring edje does > > > > > its job, the over-engineering made it look like something > > > > > different, > > > and > > > > > that > > > > > is where suddenly it looks bad because people use it as > > > > > "something different" > > > > > then find all the creaky edge cases. > > > > > > > > > > bob is accepting that reality and trying to make something > > > > > closer to > > > what > > > > > people have expected edje to be. > > > > > > > > > > > Hi, > > > > > > > > > > > > I've recently come across > > > > > > https://phab.enlightenment.org/w/bob/ and > > > I > > > > > > wonder if BÖB is going to be usable in other programming > > > > > > languages > > > than > > > > > Lua > > > > > > (e.g. pure C without Lua, in Google Gos gorutines mapped to > > > > > > real > > > threads, > > > > > > in pthreads generally etc.). It seems, the implementation > > > > > > will be > > > tightly > > > > > > coupled with Lua and some specific form of IPC while > > > > > > abandoning > > > simple > > > > > > interface for external bindings to languages with built-in > > > parallelism. > > > > > I'm > > > > > > afraid it will not be possible to make e.g. such bindings > > > > > > for Dao ( http://daovm.net/) which would support the DaoVM > > > > > > parallel > > > > > threads/tasklets. > > > > > > > > > > > > In other words, I'm not sure, if all "public" > > > > > > methods/functions of > > > the > > > > > BÖB > > > > > > API will be thread-safe and fully independent from Lua. > > > > > > Maybe I'm > > > wrong > > > > > > about the goal of EFL 2.0, but I think, tightly coupling > > > > > > only with > > > Lua > > > > > will > > > > > > certainly limit the utilization of these great libraries. > > > > > > > > > > > > Does anyone have some more accurate and detailed > > > > > > information? > > > > > > > > > > > > Kind regards > > > > > > > > > > > > -- Jan Pacner > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > Rapidly troubleshoot problems before they affect your > > > > > > business. Most > > > IT > > > > > > organizations don't have a clear picture of how application > > > performance > > > > > > affects their revenue. With AppDynamics, you get 100% > > > > > > visibility into > > > > > your > > > > > > Java,.NET, & PHP application. Start your 15-day FREE TRIAL > > > > > > of > > > > > AppDynamics Pro! > > > > > > > > > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > > > > > > _______________________________________________ > > > > > > enlightenment-devel mailing list > > > > > > enlightenment-devel@lists.sourceforge.net > > > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > > > > > > > > -- > > > > > ------------- Codito, ergo sum - "I code, therefore I am" > > > -------------- > > > > > The Rasterman (Carsten Haitzler) ras...@rasterman.com > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > Rapidly troubleshoot problems before they affect your > > > > > business. Most IT organizations don't have a clear picture of > > > > > how application performance affects their revenue. With > > > > > AppDynamics, you get 100% visibility into > > > your > > > > > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of > > > AppDynamics > > > > > Pro! > > > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > > > > > _______________________________________________ > > > > > enlightenment-devel mailing list > > > > > enlightenment-devel@lists.sourceforge.net > > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > Rapidly troubleshoot problems before they affect your business. > > > > Most IT organizations don't have a clear picture of how > > > > application performance affects their revenue. With > > > > AppDynamics, you get 100% visibility into > > > your > > > > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of > > > AppDynamics Pro! > > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > > > > _______________________________________________ > > > > enlightenment-devel mailing list > > > > enlightenment-devel@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > > > > > > -- > > > ------------- Codito, ergo sum - "I code, therefore I am" > > > -------------- The Rasterman (Carsten Haitzler) > > > ras...@rasterman.com > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > Rapidly troubleshoot problems before they affect your business. > > > Most IT organizations don't have a clear picture of how > > > application performance affects their revenue. With AppDynamics, > > > you get 100% visibility into your Java,.NET, & PHP application. > > > Start your 15-day FREE TRIAL of AppDynamics Pro! > > > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > > > _______________________________________________ > > > enlightenment-devel mailing list > > > enlightenment-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > ------------------------------------------------------------------------------ > > Rapidly troubleshoot problems before they affect your business. > > Most IT organizations don't have a clear picture of how application > > performance affects their revenue. With AppDynamics, you get 100% > > visibility into your Java,.NET, & PHP application. Start your > > 15-day FREE TRIAL of AppDynamics Pro! > > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > > _______________________________________________ enlightenment-devel > > mailing list enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- A big old stinking pile of genius that no one wants coz there are too many silver coated monkeys in the world.
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel