On 02/01/2014, at 11:27 AM, srean wrote:
> 
> with some help, yes I could. I just dont prefer what you suggest, which is to 
> commit changes to the repo. Remind me again why is a pull request bad.

Cause it's work for me. And you're making me responsible.
Felix is a community project.

> They seem safer, less disruptive and reviewable. While I am at it, may I 
> enlist Shayne and Mike for the same, and/or be reviewers.
>  
> >  has fibers, 
> 
> Oh really .. somehow I doubt that. Given what Felix has to go
> through to get them.
> 
> Here's the doc http://dlang.org/phobos/core_thread.html#.Fiber they have a 
> web framework called vibe.d based on it too, but I think that uses libev as 
> well.

According to the docs:

this(void function() fn, size_t sz = PAGESIZE * 4);
Initializes a fiber object which is associated with a static D function.
Parameters:
void function() fn      The fiber function.
size_t sz       The stack size for this fiber.
In:
fn must not be null.


Now, if, as I expect, the "stack size" is an actual block of memory
allocated as a machine stack, these are effectively just pthreads.
The only portable way to swap stacks is with pthreads.

If you do non-portable hackery to swap stacks, you will get
better performance, but these threads are still heavyweight.

These are not lightweight threads. 

AFAIK (could be wrong) Go's threads are lightweight.
So are Felix ones. In particular you don't get massive cache
spills in either cased because you just swapped out Megs of
linear address space. I have no idea how Go does it,
and don't care because Go is crap: no polymorphism.
Felix uses a heap allocated spaghetti stack so it basically
just swaps a pointer to change context. Heap frames can
be only a few machine words which is a lot less than the
4K minimum for a machine stack.

MLton actually does stack swapping, HOWEVER, it uses the
stack as a heap, and it fiddles the stack all the time anyhow.
It does some really cool VM stuff you make it all work with
minimal overhead and no limits on the stack size
(4K page granularity though).


--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
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
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to