User talk:Dash1291/Thoughts

From mediawiki.org
Jump to navigation Jump to search

Just to preserve my response on IRC:

[20:27] <ashish_d> gwicke: ping
[20:27] <gwicke> ashish_d: pong!
[20:27] <ashish_d> gwicke: Figured out an OT plan last night, http://www.mediawiki.org/wiki/User:Dash1291/Thoughts , please check out when you have time
[20:27] --> xcombelle has joined this channel (~chatzilla@AToulouse-551-1-71-6.w92-146.abo.wanadoo.fr).
[20:27] <Krinkle> Dantman: hm.. what kind of code would be inside somemodule.worker ?
[20:28] <gwicke> ashish_d: will look at it in a few minutes, let me finish something else first
[20:28] <Krinkle> it would be loaded asynchronous, so what would it return to the webworker?
[20:28] <ashish_d> gwicke: Cool!
[20:28] <Dantman> Krinkle: mw.loader.standalone would return a url rather than actually do loading
[20:29] <-- JeroenDeDauw has left this server (Quit: Leaving.).
[20:29] <Krinkle> Dantman: what about load.php?modules=..&debug=false&only=scripts ?
[20:29] --> GerardM- has joined this channel (~chatzilla@dhcp-077-251-103-224.chello.nl).
[20:29] <Dantman> Might work
[20:29] <Krinkle> all that leaves though is mw.loader.setState(…); at the end
[20:29] <Krinkle> which may not be a problem
[20:29] <Dantman> May, may not
[20:29] <Dantman> Though I have been debating if we want some implicit extras.
[20:29] <Krinkle> it skips mw.loader.implement(), and executes right away
[20:30] <-- bsitu has left this server (Ping timeout: 276 seconds).
[20:30] <Dantman> eg: I wonder if we should include some of the loader code itself, maybe some of the stuff that adds config
[20:30] <Dantman> Since a worker is almost completely isolated.
[20:31] <-- hannesroest has left this server (Quit: Leaving).
[20:32] <Dantman> Though I do admit one thing. I've been making considerations for WebWorkers, but the only place I've actually had a web worker used, couldn't even use this api anyways
[20:32] <Dantman> ((I was trying to implement Ace support, but it doesn't use a callback so we couldn't hook into this anyways))
[20:36] --> nmudgal has joined this channel (~nmudgal@unaffiliated/nmudgal).
[20:37] <gwicke> ashish_d: my understanding of the Wave optimization is that the clients are actually only allowed to diverge from the server state by one transaction
[20:37] <Krinkle> Dantman: also thinking about dependencies. Right now those are resolved client side, so getting the code directly from one module may not always work.
[20:37] <gwicke> the idea is that the server only needs to keep the latest revision around
[20:38] <Dantman> Krinkle: Sure...
[20:38] --> GlitchMr has joined this channel (~glitchmr@178-36-45-148.adsl.inetia.pl).
[20:38] <Dantman> Krinkle: We 'could' write this evilly in a way dedicated only to WebWorkers precluding any other standalone usage (they'd need custom code of their own)
[20:38] <gwicke> ashish_d: afaik there is also more transformation done on the client in the wave model
[20:38] <Krinkle> Dantman: Perhaps start the web worker from inside the module rather than outside (e.g. load it normally and in side the module, already having the methods available you need, do the expensive operation in the WebWorker.
[20:39] <gwicke> so the server can be quite simple
[20:39] <gwicke> (which is good for performance of course)
[20:39] <Dantman> Krinkle: what do you mean?
[20:40] <gwicke> ashish_d: I read the wave code a few months ago, so I don't recall all the details anymore- but that is the gist of my expedition into the wave space

Gabriel Wicke (GWicke) (talk) 19:52, 22 February 2012 (UTC)