On Tue, May 7, 2013 at 2:30 PM, Denis Stepanov <denis.stepa...@gmail.com>wrote:

> Finally they have added test that actually tests web frameworks -
> "Fortunes test" but no Tapestry yet. Does anyone is going to contribute the
> fortune test?
>
> >> Performance can be black magic.
> >>
> >> On the one hand, I've heard some specific things about Node.js
> performance
> >> that are very positive.  Certainly, when developing for Node, the
> virtually
> >> instance server startup is wonderful. Java has beaten us down into
> thinking
> >> that code needs lots of time to start up.
>
> It reminds me of a time a few year back when Ruby on Rails was a way to go
> - no threads and scale out using multiple instances.
>
>
Isn't scaling out using multiple instances is the way to go?


> Denis
>
> May 7, 2013 v 3:48 AM, Rural Hunter <ruralhun...@gmail.com>:
>
> > Here is a latest framework benchmark:
> http://www.techempower.com/benchmarks/#section=data-r4
> > How do you guys think about it?
> >
> > 于 2013/1/25 9:39, Howard Lewis Ship 写道:
> >> Performance can be black magic.
> >>
> >> On the one hand, I've heard some specific things about Node.js
> performance
> >> that are very positive.  Certainly, when developing for Node, the
> virtually
> >> instance server startup is wonderful. Java has beaten us down into
> thinking
> >> that code needs lots of time to start up.
> >>
> >> However, Node.js is constantly switching contexts in significant ways.
> All
> >> those callbacks executing in, effectively, a chaotic order means that
> >> memory must be swept into and out of core quite constantly. In a
> Java-style
> >> synchronous server, the operating system has more clues about what
> memory
> >> should stay resident based on which threads have been recently active.
> >>  Operating systems are very good at managing virtual memory, when you
> let
> >> them!
> >>
> >> It's probably impossible to compare things in an apples-to-apples way,
> >> however. I appreciate that single-thread simplicity of Node ... no
> locks,
> >> no deadlocks, no concerns about memory visibility between threads, no
> >> synchronize, no ConcurrentReadWriteLock, huzzah!
> >>
> >> The flip side is that in node you have to always be on your toes w.r.t.
> to
> >> writing everything in the callback style. That's not everyone's cup of
> tea
> >> ... and in  some cases, can be truly complicated to manage, especially
> >> figuring out how to respond to errors when you are in the middle of an
> >> indeterminate number of partially executed work flows.
> >>
> >>
> >> On Thu, Jan 24, 2013 at 5:05 PM, Lenny Primak <lpri...@hope.nyc.ny.us
> >wrote:
> >>
> >>> I was also surprised by the results when I saw them.
> >>> This was a C++ project, not java, but the performance characteristics
> >>> wouldn't be any different.
> >>> This was also proprietary project for one of my old companies so I
> can't
> >>> divulge anything else about it.
> >>> What I can tell you, it comes down to a very simple fact:
> >>> In all async servers, any single I/O operation comes down to 2 calls:
> >>> poll() (or whatever equivalent you want to use) and read/write()
> >>> There is also setup costs for poll() or its equivalents that are not
> >>> present in a synchronous server.
> >>> With synchronous server, there is no poll(), just the read and write,
> thus
> >>> the overhead of the poll() and its setup is eliminated.
> >>> Now it all comes down to the OS threading and I/O performance, and the
> >>> real surprise was that the multiple threads,
> >>> even 100s of thousands of them, all doing IO were not bogging down the
> >>> system at all.
> >>>
> >>> I know that there is all hype right now around async servers, but in
> real
> >>> world, async is just slow.
> >>>
> >>> I also believe that lightweight threads (green_threads, I believe) were
> >>> eliminated from the JVM long time ago.
> >>>
> >>> On Jan 24, 2013, at 7:51 PM, Robert Zeigler wrote:
> >>>
> >>>> I find this very difficult to swallow, at least for java apps, unless,
> >>> maybe, you're using a java implementation that uses native threads
> instead
> >>> of lightweight java threads, then I might believe it. I would also
> believe
> >>> it if the async server is poorly written. And I can believe that many
> an
> >>> async server is poorly written. It also depends a LOT on whether your
> >>> connections are short or long lived. For something like a web server
> where
> >>> you typically have very short-lived client connections, I can also
> believe
> >>> this. I'm rather skeptical of general claims that an async server is
> >>> slower, and would love to see some of the "space research project"
> worth of
> >>> data backing the claims.
> >>>> Robert
> >>>>
> >>>> On Jan 24, 2013, at 1/249:29 AM , Lenny Primak <
> lpri...@hope.nyc.ny.us>
> >>> wrote:
> >>>>> I've done extensive ( no, not extensive, really, really, extensive,
> >>> worthy of a space research project extensive ) testing of async IO
> >>> performance vs. threaded server performance.
> >>>>> The conclusion is that unless you have over 10,000 active, users,
> >>>  async IO is about 1/2 the performance of the usual
> thread-per-connection
> >>> performance.
> >>>>> By active users I mean connections that are actually putting out IO
> all
> >>> the time, as opposed to just idle sitting connections.
> >>>>> If you really, really, do have that many uses ( amazon.com type
> shop )
> >>> your bottleneck won't be at the web server level anyway, so the right
> thing
> >>> to do is to load balance and scale out.
> >>>>> Async IO won't solve any of these problems and will just introduce
> bugs
> >>> and complexity and actually degrade performance by significant margin.
> >>>>> On Jan 24, 2013, at 7:06 AM, "Thiago H de Paula Figueiredo" <
> >>> thiag...@gmail.com> wrote:
> >>>>>> On Thu, 24 Jan 2013 09:26:45 -0200, Muhammad Gelbana <
> >>> m.gelb...@gmail.com> wrote:
> >>>>>>> Can someone clarify why would play! be better than tapestry in this
> >>> test?
> >>>>>> I guess only someone with play! internal architecture can tell you
> >>> this for sure. I also think that is probable that its usage of Netty (
> >>> https://netty.io/), which uses NIO and asynchronous IO, instead of
> >>> servlet containers (usually synchronous) is an important factor. I'm
> >>> playing with the idea of running Tapestry over Vert.X (
> http://vertx.io/),
> >>> but no code written yet.
> >>>>>> --
> >>>>>> Thiago H. de Paula Figueiredo
> >>>>>>
> >>>>>>
> ---------------------------------------------------------------------
> >>>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >>>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >>>> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >>> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>>
> >>>
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>


-- 
Dmitry Gusev

AnjLab Team
http://anjlab.com

Reply via email to