Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-17 Thread Daniel Lo Nigro
This is really exciting and I'm looking forward to trying it out! It will
be nice to run the same ASP.NET stack on Windows and Linux :)


On Tue, May 13, 2014 at 8:44 PM, Miguel de Icaza mig...@xamarin.com wrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono (does not
 even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has been in
 active development, and (b) that means that Mono's on the server can be
 used without all those pesky limitations that have been plaguing us for
 years.

 So we ran into a couple of limitations in Mono: some classes that they
 need are not implemented (I filed a bug, and a couple of Xamarin folks
 decided to take on that on their copious spare time) and we have a couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us have a
story that plugs into Unix HTTP servers (the equivalent of our bridge
between Apache and mono: mod_mono, or our Fast CGI bridge to mono).

- Take Mono's new profiling tools and performance counters for a spin
and help us fine tune the runtime to run .NET code faster on Unix than you
can on Windows.  While this is a tall order, my friend David Miller would
expect nothing less from us.

 Hugs and love,
 Miguel

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Greg Young
So the one issue I have seen with the libevent implementation is that it
seems to perform very poorly in windows (+-5k hello worlds/second where as
its closer to 100k/second in linux). From researching libevent they
supposedly now use IOCP in windows and should be better but I have not been
able to make this happen. It may also be worth looking at libuv which is
pretty close to a drop in replacement for libevent as it seems to get much
better performance in windows and similar performance in linux. @Nikita I
will hopefully have some time next week and likely will send some more pull
requests in relation to the memory allocation patterns.


On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza mig...@xamarin.com wrote:

 Hello Nikita!

 Your approach looks fabulous!   I look forward to trying it out!

 Miguel


 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov kek...@gmail.comwrote:

 I'll try to implement OWIN host on top of my libevent built-in http
 server ( https://github.com/kekekeks/evhttp-sharp ) since for now it's
 the fastest thing for handling HTTP-requests on Mono I know (now it has
 host implementation for NancyFx which we are using in production for half
 of a year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI and Fos,
 are incapable of serving websockets (one because of underlying
 implementation, another because of limitations of FastCGI protocol), so it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket support and
 positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've developed
 Fos http://github.com/mzabani/Fos on a very permissive license and a
 focus on good documentation and running with Mono on *nix. I would very
 much love getting contributions on this, because my spare time is running
 lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono (does
 not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has been
 in active development, and (b) that means that Mono's on the server can be
 used without all those pesky limitations that have been plaguing us for
 years.

 So we ran into a couple of limitations in Mono: some classes that they
 need are not implemented (I filed a bug, and a couple of Xamarin folks
 decided to take on that on their copious spare time) and we have a couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us
have a story that plugs into Unix HTTP servers (the equivalent of our
bridge between Apache and mono: mod_mono, or our Fast CGI bridge to 
 mono).

- Take Mono's new profiling tools and performance counters for a
spin and help us fine tune the runtime to run .NET code faster on Unix 
 than
you can on Windows.  While this is a tall order, my friend David Miller
would expect nothing less from us.

 Hugs and love,
 Miguel

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list




-- 
Studying for the Turing test
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Roope Kangas
Hi,

On a tangent...

It would be really nice if something like libuv would the thing behind Socket 
code.

Could that be something to investigate?

Mono could basically piggyback on nodejs development.

--
Roope Kangas

 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com wrote:
 
 So the one issue I have seen with the libevent implementation is that it 
 seems to perform very poorly in windows (+-5k hello worlds/second where as 
 its closer to 100k/second in linux). From researching libevent they 
 supposedly now use IOCP in windows and should be better but I have not been 
 able to make this happen. It may also be worth looking at libuv which is 
 pretty close to a drop in replacement for libevent as it seems to get much 
 better performance in windows and similar performance in linux. @Nikita I 
 will hopefully have some time next week and likely will send some more pull 
 requests in relation to the memory allocation patterns.
 
 
 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza mig...@xamarin.com wrote:
 Hello Nikita!
 
 Your approach looks fabulous!   I look forward to trying it out!
 
 Miguel
 
 
 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov kek...@gmail.com wrote:
 I'll try to implement OWIN host on top of my libevent built-in http server 
 ( https://github.com/kekekeks/evhttp-sharp ) since for now it's the fastest 
 thing for handling HTTP-requests on Mono I know (now it has host 
 implementation for NancyFx which we are using in production for half of a 
 year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI and Fos, 
 are incapable of serving websockets (one because of underlying 
 implementation, another because of limitations of FastCGI protocol), so it 
 would be great to wrap something like 
 https://github.com/kekekeks/evhttp-sharp which has websocket support and 
 positioned as evhttp drop-in replacement.
 
 Regards,
 Nikita
 
 
 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:
 
 Wow! This is such great news!!
 
 As for running Owin applications with Unix HTTP servers, I've developed 
 Fos on a very permissive license and a focus on good documentation and 
 running with Mono on *nix. I would very much love getting contributions on 
 this, because my spare time is running lower these days.
 
 Hope it helps,
 Marcelo.
 
 
 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza mig...@xamarin.com 
 wrote:
 Hello guys!
 
 Microsoft has open sourced ASP.NET vNext:
 
 http://github.com/aspnet/home
 
 This is an entire new web stack that only needs the core of Mono (does 
 not even use System.Web.dll!).
 
 So these are of course great news, because (a) The core Mono has been in 
 active development, and (b) that means that Mono's on the server can be 
 used without all those pesky limitations that have been plaguing us for 
 years.
 
 So we ran into a couple of limitations in Mono: some classes that they 
 need are not implemented (I filed a bug, and a couple of Xamarin folks 
 decided to take on that on their copious spare time) and we have a couple 
 of bugs on FileSystemWatcher on OSX.
 
 But this is a great time to:
 Get involved with the github.com/aspnet project and submit contributions 
 that will make the software run on Unix.
 
 Look into technologies like Owin and Katana (sp?) and help us have a 
 story that plugs into Unix HTTP servers (the equivalent of our bridge 
 between Apache and mono: mod_mono, or our Fast CGI bridge to mono).
 
 Take Mono's new profiling tools and performance counters for a spin and 
 help us fine tune the runtime to run .NET code faster on Unix than you 
 can on Windows.  While this is a tall order, my friend David Miller would 
 expect nothing less from us.
 Hugs and love,
 Miguel
 
 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list
 
 
 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list
 
 
 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list
 
 
 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list
 
 
 
 -- 
 Studying for the Turing test
 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Miguel de Icaza
Hello,

On the surface, it sounds like an interesting idea and I would love to see
someone prototype this.

Today our async methods on the socket class delegate the waiting and
waiting/wakeup capabilities to the C runtime and there they use a
per-platform dispatching system (epoll, kqueue or regular poll depending on
the platform).

Miguel


On Thu, May 15, 2014 at 9:22 AM, Roope Kangas ro...@grandcrugames.comwrote:

 Hi,

 On a tangent...

 It would be really nice if something like libuv would the thing behind
 Socket code.

 Could that be something to investigate?

 Mono could basically piggyback on nodejs development.

 --
 Roope Kangas

 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com wrote:

 So the one issue I have seen with the libevent implementation is that it
 seems to perform very poorly in windows (+-5k hello worlds/second where as
 its closer to 100k/second in linux). From researching libevent they
 supposedly now use IOCP in windows and should be better but I have not been
 able to make this happen. It may also be worth looking at libuv which is
 pretty close to a drop in replacement for libevent as it seems to get much
 better performance in windows and similar performance in linux. @Nikita I
 will hopefully have some time next week and likely will send some more pull
 requests in relation to the memory allocation patterns.


 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello Nikita!

 Your approach looks fabulous!   I look forward to trying it out!

 Miguel


 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov kek...@gmail.comwrote:

 I'll try to implement OWIN host on top of my libevent built-in http
 server ( https://github.com/kekekeks/evhttp-sharp ) since for now it's
 the fastest thing for handling HTTP-requests on Mono I know (now it has
 host implementation for NancyFx which we are using in production for half
 of a year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI and
 Fos, are incapable of serving websockets (one because of underlying
 implementation, another because of limitations of FastCGI protocol), so it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket support
 and positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've developed
 Fos http://github.com/mzabani/Fos on a very permissive license and a
 focus on good documentation and running with Mono on *nix. I would very
 much love getting contributions on this, because my spare time is running
 lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza 
 mig...@xamarin.comwrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono (does
 not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has been
 in active development, and (b) that means that Mono's on the server can be
 used without all those pesky limitations that have been plaguing us for
 years.

 So we ran into a couple of limitations in Mono: some classes that they
 need are not implemented (I filed a bug, and a couple of Xamarin folks
 decided to take on that on their copious spare time) and we have a couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us
have a story that plugs into Unix HTTP servers (the equivalent of our
bridge between Apache and mono: mod_mono, or our Fast CGI bridge to 
 mono).

- Take Mono's new profiling tools and performance counters for a
spin and help us fine tune the runtime to run .NET code faster on Unix 
 than
you can on Windows.  While this is a tall order, my friend David Miller
would expect nothing less from us.

 Hugs and love,
 Miguel

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list




 --
 Studying for the Turing test

 ___
 Mono-devel-list mailing list
 

Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Marcelo Zabani
  I use it on Linux and have used it on Windows, but have never tried it on
Unix variants.
 --
From: Miguel de Icaza mig...@xamarin.com
Sent: ‎15/‎05/‎2014 00:55
To: Marcelo Zabani mzab...@gmail.com
Cc: mono-devel mono-devel-list@lists.ximian.com
Subject: Re: [Mono-dev] Mono and ASP.NET vNext

Fabulous!

Does this one run on Unix?


On Wed, May 14, 2014 at 11:29 AM, Marcelo Zabani mzab...@gmail.com wrote:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've developed
 Fos http://github.com/mzabani/Fos on a very permissive license and a
 focus on good documentation and running with Mono on *nix. I would very
 much love getting contributions on this, because my spare time is running
 lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono (does
 not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has been in
 active development, and (b) that means that Mono's on the server can be
 used without all those pesky limitations that have been plaguing us for
 years.

 So we ran into a couple of limitations in Mono: some classes that they
 need are not implemented (I filed a bug, and a couple of Xamarin folks
 decided to take on that on their copious spare time) and we have a couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us have
a story that plugs into Unix HTTP servers (the equivalent of our bridge
between Apache and mono: mod_mono, or our Fast CGI bridge to mono).

- Take Mono's new profiling tools and performance counters for a spin
and help us fine tune the runtime to run .NET code faster on Unix than you
can on Windows.  While this is a tall order, my friend David Miller would
expect nothing less from us.

 Hugs and love,
 Miguel

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Miguel de Icaza
Hello,

Well, i want to see a prototype, and then decide.

So this needs to be done with some kind of peer framework where this is
done.


On Thu, May 15, 2014 at 9:29 AM, Greg Young gregoryyou...@gmail.com wrote:

 Yes I would say moving both to libuv would be a good move :)


 On Thu, May 15, 2014 at 4:22 PM, Roope Kangas ro...@grandcrugames.comwrote:

 Hi,

 On a tangent...

 It would be really nice if something like libuv would the thing behind
 Socket code.

 Could that be something to investigate?

 Mono could basically piggyback on nodejs development.

 --
 Roope Kangas

 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com wrote:

 So the one issue I have seen with the libevent implementation is that it
 seems to perform very poorly in windows (+-5k hello worlds/second where as
 its closer to 100k/second in linux). From researching libevent they
 supposedly now use IOCP in windows and should be better but I have not been
 able to make this happen. It may also be worth looking at libuv which is
 pretty close to a drop in replacement for libevent as it seems to get much
 better performance in windows and similar performance in linux. @Nikita I
 will hopefully have some time next week and likely will send some more pull
 requests in relation to the memory allocation patterns.


 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello Nikita!

 Your approach looks fabulous!   I look forward to trying it out!

 Miguel


 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov kek...@gmail.comwrote:

 I'll try to implement OWIN host on top of my libevent built-in http
 server ( https://github.com/kekekeks/evhttp-sharp ) since for now it's
 the fastest thing for handling HTTP-requests on Mono I know (now it has
 host implementation for NancyFx which we are using in production for half
 of a year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI and
 Fos, are incapable of serving websockets (one because of underlying
 implementation, another because of limitations of FastCGI protocol), so it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket support
 and positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've
 developed Fos http://github.com/mzabani/Fos on a very permissive
 license and a focus on good documentation and running with Mono on *nix. I
 would very much love getting contributions on this, because my spare time
 is running lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza 
 mig...@xamarin.comwrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono
 (does not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has been
 in active development, and (b) that means that Mono's on the server can 
 be
 used without all those pesky limitations that have been plaguing us for
 years.

 So we ran into a couple of limitations in Mono: some classes that
 they need are not implemented (I filed a bug, and a couple of Xamarin 
 folks
 decided to take on that on their copious spare time) and we have a couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us
have a story that plugs into Unix HTTP servers (the equivalent of our
bridge between Apache and mono: mod_mono, or our Fast CGI bridge to 
 mono).

- Take Mono's new profiling tools and performance counters for a
spin and help us fine tune the runtime to run .NET code faster on 
 Unix than
you can on Windows.  While this is a tall order, my friend David 
 Miller
would expect nothing less from us.

 Hugs and love,
 Miguel

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list




 --
 Studying for the Turing test

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 

Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Nikita Tsukanov
I suspect that having libuv behind socket code won't help much, since most
of socket performance problems are related to the fact that
BeginSend/Recieve, event loop and AsyncCallback run in different threads.
Because of that we have overhead even with simple
void ReadNext()
{
   _socket.BeginRecieve(buf, blablabla, res=
   {
   _socket.EndRecieve(res);
   ReadNext();
   });
}
On windows that works fine because of IOCP behind that abstraction that is
designed to be used with thread pool. *nix platforms doesn't have anything
like IOCP, only epoll/kqueue, so for actual performance improvement one
have to use single-threaded approach (with round-robin connection dispatch
between workers), when all I/O operations and event loop run in single
thread.





2014-05-15 20:55 GMT+04:00 Miguel de Icaza mig...@xamarin.com:

 Hello,

 Well, i want to see a prototype, and then decide.

 So this needs to be done with some kind of peer framework where this is
 done.


 On Thu, May 15, 2014 at 9:29 AM, Greg Young gregoryyou...@gmail.comwrote:

 Yes I would say moving both to libuv would be a good move :)


 On Thu, May 15, 2014 at 4:22 PM, Roope Kangas ro...@grandcrugames.comwrote:

 Hi,

 On a tangent...

 It would be really nice if something like libuv would the thing behind
 Socket code.

 Could that be something to investigate?

 Mono could basically piggyback on nodejs development.

 --
 Roope Kangas

 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com wrote:

 So the one issue I have seen with the libevent implementation is that it
 seems to perform very poorly in windows (+-5k hello worlds/second where as
 its closer to 100k/second in linux). From researching libevent they
 supposedly now use IOCP in windows and should be better but I have not been
 able to make this happen. It may also be worth looking at libuv which is
 pretty close to a drop in replacement for libevent as it seems to get much
 better performance in windows and similar performance in linux. @Nikita I
 will hopefully have some time next week and likely will send some more pull
 requests in relation to the memory allocation patterns.


 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello Nikita!

 Your approach looks fabulous!   I look forward to trying it out!

 Miguel


 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov kek...@gmail.comwrote:

 I'll try to implement OWIN host on top of my libevent built-in http
 server ( https://github.com/kekekeks/evhttp-sharp ) since for now
 it's the fastest thing for handling HTTP-requests on Mono I know (now it
 has host implementation for NancyFx which we are using in production for
 half of a year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI and
 Fos, are incapable of serving websockets (one because of underlying
 implementation, another because of limitations of FastCGI protocol), so it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket support
 and positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've
 developed Fos http://github.com/mzabani/Fos on a very permissive
 license and a focus on good documentation and running with Mono on *nix. 
 I
 would very much love getting contributions on this, because my spare time
 is running lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza mig...@xamarin.com
  wrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono
 (does not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has
 been in active development, and (b) that means that Mono's on the server
 can be used without all those pesky limitations that have been plaguing 
 us
 for years.

 So we ran into a couple of limitations in Mono: some classes that
 they need are not implemented (I filed a bug, and a couple of Xamarin 
 folks
 decided to take on that on their copious spare time) and we have a 
 couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us
have a story that plugs into Unix HTTP servers (the equivalent of our
bridge between Apache and mono: mod_mono, or our Fast CGI bridge to 
 mono).

- Take Mono's new profiling tools and performance counters for a
spin and help us fine tune the runtime to run .NET code faster on 
 Unix than
you can on Windows.  While this is a tall order, my friend David 
 Miller
would expect nothing less from us.

 Hugs and love,
 Miguel

 

Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Nikita Tsukanov
I think we should have something like Mono.Sockets with abstraction of
event loop and I/O code based on libuv or whatever, and build classes like
HttpListener on top of it.


2014-05-15 21:30 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 I suspect that having libuv behind socket code won't help much, since most
 of socket performance problems are related to the fact that
 BeginSend/Recieve, event loop and AsyncCallback run in different threads.
 Because of that we have overhead even with simple
 void ReadNext()
 {
_socket.BeginRecieve(buf, blablabla, res=
{
_socket.EndRecieve(res);
ReadNext();
});
 }
 On windows that works fine because of IOCP behind that abstraction that is
 designed to be used with thread pool. *nix platforms doesn't have anything
 like IOCP, only epoll/kqueue, so for actual performance improvement one
 have to use single-threaded approach (with round-robin connection dispatch
 between workers), when all I/O operations and event loop run in single
 thread.





 2014-05-15 20:55 GMT+04:00 Miguel de Icaza mig...@xamarin.com:

 Hello,

 Well, i want to see a prototype, and then decide.

 So this needs to be done with some kind of peer framework where this is
 done.


 On Thu, May 15, 2014 at 9:29 AM, Greg Young gregoryyou...@gmail.comwrote:

 Yes I would say moving both to libuv would be a good move :)


 On Thu, May 15, 2014 at 4:22 PM, Roope Kangas 
 ro...@grandcrugames.comwrote:

 Hi,

 On a tangent...

 It would be really nice if something like libuv would the thing behind
 Socket code.

 Could that be something to investigate?

 Mono could basically piggyback on nodejs development.

 --
 Roope Kangas

 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com wrote:

 So the one issue I have seen with the libevent implementation is that
 it seems to perform very poorly in windows (+-5k hello worlds/second where
 as its closer to 100k/second in linux). From researching libevent they
 supposedly now use IOCP in windows and should be better but I have not been
 able to make this happen. It may also be worth looking at libuv which is
 pretty close to a drop in replacement for libevent as it seems to get much
 better performance in windows and similar performance in linux. @Nikita I
 will hopefully have some time next week and likely will send some more pull
 requests in relation to the memory allocation patterns.


 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello Nikita!

 Your approach looks fabulous!   I look forward to trying it out!

 Miguel


 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov kek...@gmail.comwrote:

 I'll try to implement OWIN host on top of my libevent built-in http
 server ( https://github.com/kekekeks/evhttp-sharp ) since for now
 it's the fastest thing for handling HTTP-requests on Mono I know (now it
 has host implementation for NancyFx which we are using in production for
 half of a year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI and
 Fos, are incapable of serving websockets (one because of underlying
 implementation, another because of limitations of FastCGI protocol), so 
 it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket support
 and positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've
 developed Fos http://github.com/mzabani/Fos on a very permissive
 license and a focus on good documentation and running with Mono on 
 *nix. I
 would very much love getting contributions on this, because my spare 
 time
 is running lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza 
 mig...@xamarin.com wrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono
 (does not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has
 been in active development, and (b) that means that Mono's on the 
 server
 can be used without all those pesky limitations that have been 
 plaguing us
 for years.

 So we ran into a couple of limitations in Mono: some classes that
 they need are not implemented (I filed a bug, and a couple of Xamarin 
 folks
 decided to take on that on their copious spare time) and we have a 
 couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us
have a story that plugs into Unix HTTP servers (the equivalent of 
 our
bridge between Apache and mono: mod_mono, or our Fast CGI bridge to 
 mono).

- Take Mono's new profiling tools and performance counters 

Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Greg Young
That would make sense as the models are different. Also that libuv wrapper
from looking looks fairly promising.


On Thu, May 15, 2014 at 8:38 PM, Nikita Tsukanov kek...@gmail.com wrote:

 I think we should have something like Mono.Sockets with abstraction of
 event loop and I/O code based on libuv or whatever, and build classes like
 HttpListener on top of it.


 2014-05-15 21:30 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 I suspect that having libuv behind socket code won't help much, since most
 of socket performance problems are related to the fact that
 BeginSend/Recieve, event loop and AsyncCallback run in different threads.
 Because of that we have overhead even with simple
 void ReadNext()
 {
_socket.BeginRecieve(buf, blablabla, res=
{
_socket.EndRecieve(res);
ReadNext();
});
 }
 On windows that works fine because of IOCP behind that abstraction that
 is designed to be used with thread pool. *nix platforms doesn't have
 anything like IOCP, only epoll/kqueue, so for actual performance
 improvement one have to use single-threaded approach (with round-robin
 connection dispatch between workers), when all I/O operations and event
 loop run in single thread.





 2014-05-15 20:55 GMT+04:00 Miguel de Icaza mig...@xamarin.com:

 Hello,

 Well, i want to see a prototype, and then decide.

 So this needs to be done with some kind of peer framework where this is
 done.


 On Thu, May 15, 2014 at 9:29 AM, Greg Young gregoryyou...@gmail.comwrote:

 Yes I would say moving both to libuv would be a good move :)


 On Thu, May 15, 2014 at 4:22 PM, Roope Kangas 
 ro...@grandcrugames.comwrote:

 Hi,

 On a tangent...

 It would be really nice if something like libuv would the thing behind
 Socket code.

 Could that be something to investigate?

 Mono could basically piggyback on nodejs development.

 --
 Roope Kangas

 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com wrote:

 So the one issue I have seen with the libevent implementation is that
 it seems to perform very poorly in windows (+-5k hello worlds/second where
 as its closer to 100k/second in linux). From researching libevent they
 supposedly now use IOCP in windows and should be better but I have not 
 been
 able to make this happen. It may also be worth looking at libuv which is
 pretty close to a drop in replacement for libevent as it seems to get much
 better performance in windows and similar performance in linux. @Nikita I
 will hopefully have some time next week and likely will send some more 
 pull
 requests in relation to the memory allocation patterns.


 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza 
 mig...@xamarin.comwrote:

 Hello Nikita!

 Your approach looks fabulous!   I look forward to trying it out!

 Miguel


 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov 
 kek...@gmail.comwrote:

 I'll try to implement OWIN host on top of my libevent built-in http
 server ( https://github.com/kekekeks/evhttp-sharp ) since for now
 it's the fastest thing for handling HTTP-requests on Mono I know (now it
 has host implementation for NancyFx which we are using in production for
 half of a year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI and
 Fos, are incapable of serving websockets (one because of underlying
 implementation, another because of limitations of FastCGI protocol), so 
 it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket
 support and positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've
 developed Fos http://github.com/mzabani/Fos on a very permissive
 license and a focus on good documentation and running with Mono on 
 *nix. I
 would very much love getting contributions on this, because my spare 
 time
 is running lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza 
 mig...@xamarin.com wrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono
 (does not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has
 been in active development, and (b) that means that Mono's on the 
 server
 can be used without all those pesky limitations that have been 
 plaguing us
 for years.

 So we ran into a couple of limitations in Mono: some classes that
 they need are not implemented (I filed a bug, and a couple of Xamarin 
 folks
 decided to take on that on their copious spare time) and we have a 
 couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help
us have a story that 

Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Nikita Tsukanov
There are some existing wrappers:
https://github.com/kersny/libuv-csharp  - Dead, no commits for 3 years
https://github.com/txdv/LibuvSharp - uses Task (
https://github.com/txdv/LibuvSharp/blob/master/Examples/TcpAsync.cs ), so
it should have same problems with thread pool


2014-05-15 21:41 GMT+04:00 Greg Young gregoryyou...@gmail.com:

 That would make sense as the models are different. Also that libuv wrapper
 from looking looks fairly promising.


 On Thu, May 15, 2014 at 8:38 PM, Nikita Tsukanov kek...@gmail.com wrote:

 I think we should have something like Mono.Sockets with abstraction of
 event loop and I/O code based on libuv or whatever, and build classes like
 HttpListener on top of it.


 2014-05-15 21:30 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 I suspect that having libuv behind socket code won't help much, since
 most of socket performance problems are related to the fact that
 BeginSend/Recieve, event loop and AsyncCallback run in different threads.
 Because of that we have overhead even with simple
 void ReadNext()
 {
_socket.BeginRecieve(buf, blablabla, res=
{
_socket.EndRecieve(res);
ReadNext();
});
 }
 On windows that works fine because of IOCP behind that abstraction that
 is designed to be used with thread pool. *nix platforms doesn't have
 anything like IOCP, only epoll/kqueue, so for actual performance
 improvement one have to use single-threaded approach (with round-robin
 connection dispatch between workers), when all I/O operations and event
 loop run in single thread.





 2014-05-15 20:55 GMT+04:00 Miguel de Icaza mig...@xamarin.com:

 Hello,

 Well, i want to see a prototype, and then decide.

 So this needs to be done with some kind of peer framework where this is
 done.


 On Thu, May 15, 2014 at 9:29 AM, Greg Young gregoryyou...@gmail.comwrote:

 Yes I would say moving both to libuv would be a good move :)


 On Thu, May 15, 2014 at 4:22 PM, Roope Kangas ro...@grandcrugames.com
  wrote:

 Hi,

 On a tangent...

 It would be really nice if something like libuv would the thing
 behind Socket code.

 Could that be something to investigate?

 Mono could basically piggyback on nodejs development.

 --
 Roope Kangas

 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com wrote:

 So the one issue I have seen with the libevent implementation is that
 it seems to perform very poorly in windows (+-5k hello worlds/second 
 where
 as its closer to 100k/second in linux). From researching libevent they
 supposedly now use IOCP in windows and should be better but I have not 
 been
 able to make this happen. It may also be worth looking at libuv which is
 pretty close to a drop in replacement for libevent as it seems to get 
 much
 better performance in windows and similar performance in linux. @Nikita I
 will hopefully have some time next week and likely will send some more 
 pull
 requests in relation to the memory allocation patterns.


 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza 
 mig...@xamarin.comwrote:

 Hello Nikita!

 Your approach looks fabulous!   I look forward to trying it out!

 Miguel


 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov 
 kek...@gmail.comwrote:

 I'll try to implement OWIN host on top of my libevent built-in http
 server ( https://github.com/kekekeks/evhttp-sharp ) since for now
 it's the fastest thing for handling HTTP-requests on Mono I know (now 
 it
 has host implementation for NancyFx which we are using in production 
 for
 half of a year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI
 and Fos, are incapable of serving websockets (one because of underlying
 implementation, another because of limitations of FastCGI protocol), 
 so it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket
 support and positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've
 developed Fos http://github.com/mzabani/Fos on a very
 permissive license and a focus on good documentation and running with 
 Mono
 on *nix. I would very much love getting contributions on this, 
 because my
 spare time is running lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza 
 mig...@xamarin.com wrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono
 (does not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has
 been in active development, and (b) that means that Mono's on the 
 server
 can be used without all those pesky limitations that have been 
 plaguing us
 for years.

 So we ran into a couple of limitations in Mono: some classes that
 they need are not implemented (I filed a bug, and a couple of 
 Xamarin folks
 decided 

Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Nikita Tsukanov
Now I'm digging the source code and it seems that second one is quite close
to what is needed.


2014-05-15 21:51 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 There are some existing wrappers:
 https://github.com/kersny/libuv-csharp  - Dead, no commits for 3 years
 https://github.com/txdv/LibuvSharp - uses Task (
 https://github.com/txdv/LibuvSharp/blob/master/Examples/TcpAsync.cs ), so
 it should have same problems with thread pool


 2014-05-15 21:41 GMT+04:00 Greg Young gregoryyou...@gmail.com:

 That would make sense as the models are different. Also that libuv wrapper
 from looking looks fairly promising.


 On Thu, May 15, 2014 at 8:38 PM, Nikita Tsukanov kek...@gmail.comwrote:

 I think we should have something like Mono.Sockets with abstraction of
 event loop and I/O code based on libuv or whatever, and build classes like
 HttpListener on top of it.


 2014-05-15 21:30 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 I suspect that having libuv behind socket code won't help much, since
 most of socket performance problems are related to the fact that
 BeginSend/Recieve, event loop and AsyncCallback run in different threads.
 Because of that we have overhead even with simple
 void ReadNext()
 {
_socket.BeginRecieve(buf, blablabla, res=
{
_socket.EndRecieve(res);
ReadNext();
});
 }
 On windows that works fine because of IOCP behind that abstraction that
 is designed to be used with thread pool. *nix platforms doesn't have
 anything like IOCP, only epoll/kqueue, so for actual performance
 improvement one have to use single-threaded approach (with round-robin
 connection dispatch between workers), when all I/O operations and event
 loop run in single thread.





 2014-05-15 20:55 GMT+04:00 Miguel de Icaza mig...@xamarin.com:

 Hello,

 Well, i want to see a prototype, and then decide.

 So this needs to be done with some kind of peer framework where this
 is done.


 On Thu, May 15, 2014 at 9:29 AM, Greg Young 
 gregoryyou...@gmail.comwrote:

 Yes I would say moving both to libuv would be a good move :)


 On Thu, May 15, 2014 at 4:22 PM, Roope Kangas 
 ro...@grandcrugames.com wrote:

 Hi,

 On a tangent...

 It would be really nice if something like libuv would the thing
 behind Socket code.

 Could that be something to investigate?

 Mono could basically piggyback on nodejs development.

 --
 Roope Kangas

 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com wrote:

 So the one issue I have seen with the libevent implementation is
 that it seems to perform very poorly in windows (+-5k hello 
 worlds/second
 where as its closer to 100k/second in linux). From researching libevent
 they supposedly now use IOCP in windows and should be better but I have 
 not
 been able to make this happen. It may also be worth looking at libuv 
 which
 is pretty close to a drop in replacement for libevent as it seems to get
 much better performance in windows and similar performance in linux.
 @Nikita I will hopefully have some time next week and likely will send 
 some
 more pull requests in relation to the memory allocation patterns.


 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza mig...@xamarin.com
  wrote:

 Hello Nikita!

 Your approach looks fabulous!   I look forward to trying it out!

 Miguel


 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov kek...@gmail.com
  wrote:

 I'll try to implement OWIN host on top of my libevent built-in
 http server ( https://github.com/kekekeks/evhttp-sharp ) since
 for now it's the fastest thing for handling HTTP-requests on Mono I 
 know
 (now it has host implementation for NancyFx which we are using in
 production for half of a year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI
 and Fos, are incapable of serving websockets (one because of 
 underlying
 implementation, another because of limitations of FastCGI protocol), 
 so it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket
 support and positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've
 developed Fos http://github.com/mzabani/Fos on a very
 permissive license and a focus on good documentation and running 
 with Mono
 on *nix. I would very much love getting contributions on this, 
 because my
 spare time is running lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza 
 mig...@xamarin.com wrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono
 (does not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has
 been in active development, and (b) that means that Mono's on the 
 server
 can be used without all those pesky limitations that have been 
 plaguing us
 

Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Nikita Tsukanov
The main problem that someone have to implement HTTP-server and
websocket-handling code on top of that, since existing implementations
(Nowin, websocket implementations on top of XSockets, SuperSockets.NET,
etc) are bound to thread pool model. I think it's much better to find some
existing HTTP/WebSocket server library, wrap it and use for hosting
ASP.NETvNext applications. It will safe a lot of pain. Althrough it's
possible to
patch something like Nowin in a way, that it would be able to use both
models and switch between them.


2014-05-15 21:59 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 Now I'm digging the source code and it seems that second one is quite
 close to what is needed.


 2014-05-15 21:51 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 There are some existing wrappers:
 https://github.com/kersny/libuv-csharp  - Dead, no commits for 3 years
 https://github.com/txdv/LibuvSharp - uses Task (
 https://github.com/txdv/LibuvSharp/blob/master/Examples/TcpAsync.cs ),
 so it should have same problems with thread pool


 2014-05-15 21:41 GMT+04:00 Greg Young gregoryyou...@gmail.com:

 That would make sense as the models are different. Also that libuv
 wrapper from looking looks fairly promising.


 On Thu, May 15, 2014 at 8:38 PM, Nikita Tsukanov kek...@gmail.comwrote:

 I think we should have something like Mono.Sockets with abstraction of
 event loop and I/O code based on libuv or whatever, and build classes like
 HttpListener on top of it.


 2014-05-15 21:30 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 I suspect that having libuv behind socket code won't help much, since
 most of socket performance problems are related to the fact that
 BeginSend/Recieve, event loop and AsyncCallback run in different threads.
 Because of that we have overhead even with simple
 void ReadNext()
 {
_socket.BeginRecieve(buf, blablabla, res=
{
_socket.EndRecieve(res);
ReadNext();
});
 }
 On windows that works fine because of IOCP behind that abstraction
 that is designed to be used with thread pool. *nix platforms doesn't have
 anything like IOCP, only epoll/kqueue, so for actual performance
 improvement one have to use single-threaded approach (with round-robin
 connection dispatch between workers), when all I/O operations and event
 loop run in single thread.





 2014-05-15 20:55 GMT+04:00 Miguel de Icaza mig...@xamarin.com:

 Hello,

 Well, i want to see a prototype, and then decide.

 So this needs to be done with some kind of peer framework where this
 is done.


 On Thu, May 15, 2014 at 9:29 AM, Greg Young 
 gregoryyou...@gmail.comwrote:

 Yes I would say moving both to libuv would be a good move :)


 On Thu, May 15, 2014 at 4:22 PM, Roope Kangas 
 ro...@grandcrugames.com wrote:

 Hi,

 On a tangent...

 It would be really nice if something like libuv would the thing
 behind Socket code.

 Could that be something to investigate?

 Mono could basically piggyback on nodejs development.

 --
 Roope Kangas

 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com wrote:

 So the one issue I have seen with the libevent implementation is
 that it seems to perform very poorly in windows (+-5k hello 
 worlds/second
 where as its closer to 100k/second in linux). From researching libevent
 they supposedly now use IOCP in windows and should be better but I 
 have not
 been able to make this happen. It may also be worth looking at libuv 
 which
 is pretty close to a drop in replacement for libevent as it seems to 
 get
 much better performance in windows and similar performance in linux.
 @Nikita I will hopefully have some time next week and likely will send 
 some
 more pull requests in relation to the memory allocation patterns.


 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza 
 mig...@xamarin.com wrote:

 Hello Nikita!

 Your approach looks fabulous!   I look forward to trying it out!

 Miguel


 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov 
 kek...@gmail.com wrote:

 I'll try to implement OWIN host on top of my libevent built-in
 http server ( https://github.com/kekekeks/evhttp-sharp ) since
 for now it's the fastest thing for handling HTTP-requests on Mono I 
 know
 (now it has host implementation for NancyFx which we are using in
 production for half of a year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI
 and Fos, are incapable of serving websockets (one because of 
 underlying
 implementation, another because of limitations of FastCGI protocol), 
 so it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket
 support and positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've
 developed Fos http://github.com/mzabani/Fos on a very
 permissive license and a focus on good documentation and running 
 with Mono
 on *nix. I would very much love 

Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Giuliano Barberi
Would it be possible to make the socket use libuv to listen on multiple
threads for events then just perform whatever work is needed right then and
there instead of scheduling it into the thread pool? This feels closer to
what IOCP are like on Windows though the thread overhead is higher so there
should not be too many threads whereas there are thousands of IO ports. The
problem I see is the Mono having a single thread listening for epoll events
and putting work on the thread pool so if that can be eliminated, we would
be able to use native implementations on top of it for the FastCGI/OWIN
parts.


On Thu, May 15, 2014 at 2:12 PM, Nikita Tsukanov kek...@gmail.com wrote:

 The main problem that someone have to implement HTTP-server and
 websocket-handling code on top of that, since existing implementations
 (Nowin, websocket implementations on top of XSockets, SuperSockets.NET,
 etc) are bound to thread pool model. I think it's much better to find some
 existing HTTP/WebSocket server library, wrap it and use for hosting
 ASP.NET vNext applications. It will safe a lot of pain. Althrough it's
 possible to patch something like Nowin in a way, that it would be able to
 use both models and switch between them.


 2014-05-15 21:59 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 Now I'm digging the source code and it seems that second one is quite
 close to what is needed.


 2014-05-15 21:51 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 There are some existing wrappers:
 https://github.com/kersny/libuv-csharp  - Dead, no commits for 3 years
 https://github.com/txdv/LibuvSharp - uses Task (
 https://github.com/txdv/LibuvSharp/blob/master/Examples/TcpAsync.cs ),
 so it should have same problems with thread pool


 2014-05-15 21:41 GMT+04:00 Greg Young gregoryyou...@gmail.com:

 That would make sense as the models are different. Also that libuv
 wrapper from looking looks fairly promising.


 On Thu, May 15, 2014 at 8:38 PM, Nikita Tsukanov kek...@gmail.comwrote:

 I think we should have something like Mono.Sockets with abstraction of
 event loop and I/O code based on libuv or whatever, and build classes like
 HttpListener on top of it.


 2014-05-15 21:30 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 I suspect that having libuv behind socket code won't help much, since
 most of socket performance problems are related to the fact that
 BeginSend/Recieve, event loop and AsyncCallback run in different threads.
 Because of that we have overhead even with simple
 void ReadNext()
 {
_socket.BeginRecieve(buf, blablabla, res=
{
_socket.EndRecieve(res);
ReadNext();
});
 }
 On windows that works fine because of IOCP behind that abstraction
 that is designed to be used with thread pool. *nix platforms doesn't have
 anything like IOCP, only epoll/kqueue, so for actual performance
 improvement one have to use single-threaded approach (with round-robin
 connection dispatch between workers), when all I/O operations and event
 loop run in single thread.





 2014-05-15 20:55 GMT+04:00 Miguel de Icaza mig...@xamarin.com:

 Hello,

 Well, i want to see a prototype, and then decide.

 So this needs to be done with some kind of peer framework where this
 is done.


 On Thu, May 15, 2014 at 9:29 AM, Greg Young gregoryyou...@gmail.com
  wrote:

 Yes I would say moving both to libuv would be a good move :)


 On Thu, May 15, 2014 at 4:22 PM, Roope Kangas 
 ro...@grandcrugames.com wrote:

 Hi,

 On a tangent...

 It would be really nice if something like libuv would the thing
 behind Socket code.

 Could that be something to investigate?

 Mono could basically piggyback on nodejs development.

 --
 Roope Kangas

 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com
 wrote:

 So the one issue I have seen with the libevent implementation is
 that it seems to perform very poorly in windows (+-5k hello 
 worlds/second
 where as its closer to 100k/second in linux). From researching 
 libevent
 they supposedly now use IOCP in windows and should be better but I 
 have not
 been able to make this happen. It may also be worth looking at libuv 
 which
 is pretty close to a drop in replacement for libevent as it seems to 
 get
 much better performance in windows and similar performance in linux.
 @Nikita I will hopefully have some time next week and likely will 
 send some
 more pull requests in relation to the memory allocation patterns.


 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza 
 mig...@xamarin.com wrote:

 Hello Nikita!

 Your approach looks fabulous!   I look forward to trying it out!

 Miguel


 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov 
 kek...@gmail.com wrote:

 I'll try to implement OWIN host on top of my libevent built-in
 http server ( https://github.com/kekekeks/evhttp-sharp ) since
 for now it's the fastest thing for handling HTTP-requests on Mono I 
 know
 (now it has host implementation for NancyFx which we are using in
 production for half of a year).
 Although both evhttp-sharp and 

Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-15 Thread Roope Kangas
Hi, 

I guess having some mono.sockets lib would do the trick too.  Just hoping for 
good libuv/libev support since not everybody is doing http servers. And the 
existing libuv/ev wrappes did not look very convincing, at least when I last 
had a look.

Our not-yet-globally launched mmo game http://supernauts.com runs on top of 
mono. (Some gameplay vid. http://www.youtube.com/watch?v=84lO20G-RWc)

Supernauts just shards players to separate vm/servers. Which is fine also :) 
mitigates also other problems caused by our sticky little programmer fingers.

Anyway, this asp.next vnext w libuv/ev sounds very cool indeed! Awesome!

--
Roope Kangas


 On 15.5.2014, at 21.12, Nikita Tsukanov kek...@gmail.com wrote:
 
 The main problem that someone have to implement HTTP-server and 
 websocket-handling code on top of that, since existing implementations 
 (Nowin, websocket implementations on top of XSockets, SuperSockets.NET, etc) 
 are bound to thread pool model. I think it's much better to find some 
 existing HTTP/WebSocket server library, wrap it and use for hosting ASP.NET 
 vNext applications. It will safe a lot of pain. Althrough it's possible to 
 patch something like Nowin in a way, that it would be able to use both models 
 and switch between them.
 
 
 2014-05-15 21:59 GMT+04:00 Nikita Tsukanov kek...@gmail.com:
 Now I'm digging the source code and it seems that second one is quite close 
 to what is needed.
 
 
 2014-05-15 21:51 GMT+04:00 Nikita Tsukanov kek...@gmail.com:
 
 There are some existing wrappers:
 https://github.com/kersny/libuv-csharp  - Dead, no commits for 3 years
 https://github.com/txdv/LibuvSharp - uses Task ( 
 https://github.com/txdv/LibuvSharp/blob/master/Examples/TcpAsync.cs ), so 
 it should have same problems with thread pool
 
 
 2014-05-15 21:41 GMT+04:00 Greg Young gregoryyou...@gmail.com:
 
 That would make sense as the models are different. Also that libuv wrapper 
 from looking looks fairly promising.
 
 
 On Thu, May 15, 2014 at 8:38 PM, Nikita Tsukanov kek...@gmail.com wrote:
 I think we should have something like Mono.Sockets with abstraction of 
 event loop and I/O code based on libuv or whatever, and build classes 
 like HttpListener on top of it.
 
 
 2014-05-15 21:30 GMT+04:00 Nikita Tsukanov kek...@gmail.com:
 
 I suspect that having libuv behind socket code won't help much, since 
 most of socket performance problems are related to the fact that 
 BeginSend/Recieve, event loop and AsyncCallback run in different 
 threads. Because of that we have overhead even with simple 
 void ReadNext()
 {
_socket.BeginRecieve(buf, blablabla, res=
{
_socket.EndRecieve(res);
ReadNext();
});
 }
 On windows that works fine because of IOCP behind that abstraction that 
 is designed to be used with thread pool. *nix platforms doesn't have 
 anything like IOCP, only epoll/kqueue, so for actual performance 
 improvement one have to use single-threaded approach (with round-robin 
 connection dispatch between workers), when all I/O operations and event 
 loop run in single thread.
 
 
 
 
 
 2014-05-15 20:55 GMT+04:00 Miguel de Icaza mig...@xamarin.com:
 
 Hello,
 
 Well, i want to see a prototype, and then decide.
 
 So this needs to be done with some kind of peer framework where this is 
 done.
 
 
 On Thu, May 15, 2014 at 9:29 AM, Greg Young gregoryyou...@gmail.com 
 wrote:
 Yes I would say moving both to libuv would be a good move :)
 
 
 On Thu, May 15, 2014 at 4:22 PM, Roope Kangas 
 ro...@grandcrugames.com wrote:
 Hi,
 
 On a tangent...
 
 It would be really nice if something like libuv would the thing 
 behind Socket code.
 
 Could that be something to investigate?
 
 Mono could basically piggyback on nodejs development.
 
 --
 Roope Kangas
 
 On 15.5.2014, at 15.00, Greg Young gregoryyou...@gmail.com wrote:
 
 So the one issue I have seen with the libevent implementation is 
 that it seems to perform very poorly in windows (+-5k hello 
 worlds/second where as its closer to 100k/second in linux). From 
 researching libevent they supposedly now use IOCP in windows and 
 should be better but I have not been able to make this happen. It 
 may also be worth looking at libuv which is pretty close to a drop 
 in replacement for libevent as it seems to get much better 
 performance in windows and similar performance in linux. @Nikita I 
 will hopefully have some time next week and likely will send some 
 more pull requests in relation to the memory allocation patterns.
 
 
 On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza 
 mig...@xamarin.com wrote:
 Hello Nikita!
 
 Your approach looks fabulous!   I look forward to trying it out!
 
 Miguel
 
 
 On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov 
 kek...@gmail.com wrote:
 I'll try to implement OWIN host on top of my libevent built-in 
 http server ( https://github.com/kekekeks/evhttp-sharp ) since for 
 now it's the fastest thing for handling HTTP-requests on Mono I 
 know (now it has host implementation for 

Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-14 Thread Marcelo Zabani
Wow! This is such great news!!

As for running Owin applications with Unix HTTP servers, I've
developed Foshttp://github.com/mzabani/Fos on
a very permissive license and a focus on good documentation and running
with Mono on *nix. I would very much love getting contributions on this,
because my spare time is running lower these days.

Hope it helps,
Marcelo.


On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono (does not
 even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has been in
 active development, and (b) that means that Mono's on the server can be
 used without all those pesky limitations that have been plaguing us for
 years.

 So we ran into a couple of limitations in Mono: some classes that they
 need are not implemented (I filed a bug, and a couple of Xamarin folks
 decided to take on that on their copious spare time) and we have a couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us have a
story that plugs into Unix HTTP servers (the equivalent of our bridge
between Apache and mono: mod_mono, or our Fast CGI bridge to mono).

- Take Mono's new profiling tools and performance counters for a spin
and help us fine tune the runtime to run .NET code faster on Unix than you
can on Windows.  While this is a tall order, my friend David Miller would
expect nothing less from us.

 Hugs and love,
 Miguel

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-14 Thread Nikita Tsukanov
I'll try to implement OWIN host on top of my libevent built-in http server
( https://github.com/kekekeks/evhttp-sharp ) since for now it's the fastest
thing for handling HTTP-requests on Mono I know (now it has host
implementation for NancyFx which we are using in production for half of a
year).
Although both evhttp-sharp and FastCGI servers like HyperFastCGI and Fos,
are incapable of serving websockets (one because of underlying
implementation, another because of limitations of FastCGI protocol), so it
would be great to wrap something like
https://github.com/kekekeks/evhttp-sharp which has websocket support and
positioned as evhttp drop-in replacement.

Regards,
Nikita


2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've developed
 Fos http://github.com/mzabani/Fos on a very permissive license and a
 focus on good documentation and running with Mono on *nix. I would very
 much love getting contributions on this, because my spare time is running
 lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono (does
 not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has been in
 active development, and (b) that means that Mono's on the server can be
 used without all those pesky limitations that have been plaguing us for
 years.

 So we ran into a couple of limitations in Mono: some classes that they
 need are not implemented (I filed a bug, and a couple of Xamarin folks
 decided to take on that on their copious spare time) and we have a couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us have
a story that plugs into Unix HTTP servers (the equivalent of our bridge
between Apache and mono: mod_mono, or our Fast CGI bridge to mono).

- Take Mono's new profiling tools and performance counters for a spin
and help us fine tune the runtime to run .NET code faster on Unix than you
can on Windows.  While this is a tall order, my friend David Miller would
expect nothing less from us.

 Hugs and love,
 Miguel

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-14 Thread Nikita Tsukanov
s/built-in http server/built-in http server wrapper/


2014-05-14 19:40 GMT+04:00 Nikita Tsukanov kek...@gmail.com:

 I'll try to implement OWIN host on top of my libevent built-in http server
 ( https://github.com/kekekeks/evhttp-sharp ) since for now it's the
 fastest thing for handling HTTP-requests on Mono I know (now it has host
 implementation for NancyFx which we are using in production for half of a
 year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI and Fos,
 are incapable of serving websockets (one because of underlying
 implementation, another because of limitations of FastCGI protocol), so it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket support and
 positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've developed
 Fos http://github.com/mzabani/Fos on a very permissive license and a
 focus on good documentation and running with Mono on *nix. I would very
 much love getting contributions on this, because my spare time is running
 lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono (does
 not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has been in
 active development, and (b) that means that Mono's on the server can be
 used without all those pesky limitations that have been plaguing us for
 years.

 So we ran into a couple of limitations in Mono: some classes that they
 need are not implemented (I filed a bug, and a couple of Xamarin folks
 decided to take on that on their copious spare time) and we have a couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us have
a story that plugs into Unix HTTP servers (the equivalent of our bridge
between Apache and mono: mod_mono, or our Fast CGI bridge to mono).

- Take Mono's new profiling tools and performance counters for a
spin and help us fine tune the runtime to run .NET code faster on Unix 
 than
you can on Windows.  While this is a tall order, my friend David Miller
would expect nothing less from us.

 Hugs and love,
 Miguel

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-14 Thread Miguel de Icaza
Fabulous!

Does this one run on Unix?


On Wed, May 14, 2014 at 11:29 AM, Marcelo Zabani mzab...@gmail.com wrote:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've developed
 Fos http://github.com/mzabani/Fos on a very permissive license and a
 focus on good documentation and running with Mono on *nix. I would very
 much love getting contributions on this, because my spare time is running
 lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono (does
 not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has been in
 active development, and (b) that means that Mono's on the server can be
 used without all those pesky limitations that have been plaguing us for
 years.

 So we ran into a couple of limitations in Mono: some classes that they
 need are not implemented (I filed a bug, and a couple of Xamarin folks
 decided to take on that on their copious spare time) and we have a couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us have
a story that plugs into Unix HTTP servers (the equivalent of our bridge
between Apache and mono: mod_mono, or our Fast CGI bridge to mono).

- Take Mono's new profiling tools and performance counters for a spin
and help us fine tune the runtime to run .NET code faster on Unix than you
can on Windows.  While this is a tall order, my friend David Miller would
expect nothing less from us.

 Hugs and love,
 Miguel

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and ASP.NET vNext

2014-05-14 Thread Miguel de Icaza
Hello Nikita!

Your approach looks fabulous!   I look forward to trying it out!

Miguel


On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov kek...@gmail.com wrote:

 I'll try to implement OWIN host on top of my libevent built-in http server
 ( https://github.com/kekekeks/evhttp-sharp ) since for now it's the
 fastest thing for handling HTTP-requests on Mono I know (now it has host
 implementation for NancyFx which we are using in production for half of a
 year).
 Although both evhttp-sharp and FastCGI servers like HyperFastCGI and Fos,
 are incapable of serving websockets (one because of underlying
 implementation, another because of limitations of FastCGI protocol), so it
 would be great to wrap something like
 https://github.com/kekekeks/evhttp-sharp which has websocket support and
 positioned as evhttp drop-in replacement.

 Regards,
 Nikita


 2014-05-14 19:29 GMT+04:00 Marcelo Zabani mzab...@gmail.com:

 Wow! This is such great news!!

 As for running Owin applications with Unix HTTP servers, I've developed
 Fos http://github.com/mzabani/Fos on a very permissive license and a
 focus on good documentation and running with Mono on *nix. I would very
 much love getting contributions on this, because my spare time is running
 lower these days.

 Hope it helps,
 Marcelo.


 On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza mig...@xamarin.comwrote:

 Hello guys!

 Microsoft has open sourced ASP.NET vNext:

 http://github.com/aspnet/home

 This is an entire new web stack that only needs the core of Mono (does
 not even use System.Web.dll!).

 So these are of course great news, because (a) The core Mono has been in
 active development, and (b) that means that Mono's on the server can be
 used without all those pesky limitations that have been plaguing us for
 years.

 So we ran into a couple of limitations in Mono: some classes that they
 need are not implemented (I filed a bug, and a couple of Xamarin folks
 decided to take on that on their copious spare time) and we have a couple
 of bugs on FileSystemWatcher on OSX.

 But this is a great time to:

- Get involved with the github.com/aspnet project and submit
contributions that will make the software run on Unix.

- Look into technologies like Owin and Katana (sp?) and help us have
a story that plugs into Unix HTTP servers (the equivalent of our bridge
between Apache and mono: mod_mono, or our Fast CGI bridge to mono).

- Take Mono's new profiling tools and performance counters for a
spin and help us fine tune the runtime to run .NET code faster on Unix 
 than
you can on Windows.  While this is a tall order, my friend David Miller
would expect nothing less from us.

 Hugs and love,
 Miguel

 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list



 ___
 Mono-devel-list mailing list
 Mono-devel-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-devel-list


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Mono and ASP.NET vNext

2014-05-13 Thread Miguel de Icaza
Hello guys!

Microsoft has open sourced ASP.NET vNext:

http://github.com/aspnet/home

This is an entire new web stack that only needs the core of Mono (does not
even use System.Web.dll!).

So these are of course great news, because (a) The core Mono has been in
active development, and (b) that means that Mono's on the server can be
used without all those pesky limitations that have been plaguing us for
years.

So we ran into a couple of limitations in Mono: some classes that they need
are not implemented (I filed a bug, and a couple of Xamarin folks decided
to take on that on their copious spare time) and we have a couple of bugs
on FileSystemWatcher on OSX.

But this is a great time to:

   - Get involved with the github.com/aspnet project and submit
   contributions that will make the software run on Unix.

   - Look into technologies like Owin and Katana (sp?) and help us have a
   story that plugs into Unix HTTP servers (the equivalent of our bridge
   between Apache and mono: mod_mono, or our Fast CGI bridge to mono).

   - Take Mono's new profiling tools and performance counters for a spin
   and help us fine tune the runtime to run .NET code faster on Unix than you
   can on Windows.  While this is a tall order, my friend David Miller would
   expect nothing less from us.

Hugs and love,
Miguel
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list