I still haven't decided to use Lift because I want to be safe if it'll
support some features in which I'm interested. But the main problem
(the same of another people) is to have to learn another new
developing language and a different paradigm as it's the functional
language.
I believe that I'll risk myself to learn another language.
I completely agree with what you've outlined here. While I'm looking at
playing around with lift, I'll probably wait until it's a little more
stable for a production app. In the meantime, I think that having the
flexibility to make radical API changes is necessary at this stage
(infancy) of lift. The current amorphous nature makes allows for a lot
of experimentation while we(you) find the right balance for the API. I'm
definitely looking forward to seeing what it crystalizes into...
Derek
It's basicly a game to see which can conform to the benchmark the
best. Take any result with a huge amount of salt.
It looks at a specific problem domain, and webapplications aren't a
part of it.
so to come back to the problem of memory overhead. Yes JVM
applications have a large memory overhead. But compared to LAMP
systems, this overhead is negligeble. One JVM process might consume
256 MB in memory (usually the standard upping for a web application),
but it can handle (due to good multithreading) say 100 concurrent
requests (jetty has something like a max of 125 concurrent threads
configured). With most LAMP implementations you have one process per
concurrent user. These processes are shared nothing, and have to
create their own pool of classes and caches etc.
Even though these processes might use less memory per process (say 20
MB, although I've read about 200+ MB of rails process sizes ) together
they will use alot more than the 256MB the JVM uses.
There has been alot of discussion on this the last month in the
blogosphere, especially in replies to DHH's claim in his blog that
rails scales fine as it is.
I think that either a self made implementation in d,c++,c,ocaml as a
webapplication or maybe a webapplication in erlang _might_ improve the
memory usage of your webapplication.
So A) benchmarks are only usefull when doing the right one
B) the memory overhead of the JVM is not bad if you figure in the
excelent concurrency possibilities (especially with Scala).
On 16 jun, 14:09, Jonas <jonas....@googlemail.com> wrote:
> On 11 jun, 17:15, "David Pollak" <feeder.of.the.be...@gmail.com>
> wrote:> Yes. I believe that Scala is an amazing language and it's been growing and
> > maturing at a nice pace and the LAMP team has been doing a great job of
> > moving from an "Experiment" to an "Experience."
>
> It's true that Scala is an amazing language but it follows having the
> same problem that Java (because is using its JVM), the overhead and
> the consume of memory. In fact, as you can see in that benchmark,
> Scala is one of the languages that is consuming more memory.
>
> http://shootout.alioth.debian.org/sandbox/benchmark.php?test=all&lang...
On Jun 16, 6:19 am, bartvdo <bart...@gmail.com> wrote:
> I take it you read the home page of the shootout?
I have :-)
> It's basicly a game to see which can conform to the benchmark the
> best. Take any result with a huge amount of salt.
Saying - take any result with a pinch of salt - suggests there's
something wrong with the results themselves, but that isn't what you
say in the following comments.
Rather than " take any result with a huge amount of salt" you seem to
mean - don't generalize from those specific results to other different
situations (100m times would be a bad predictor of marathon finish
times and vica versa).
> >http://shootout.alioth.debian.org/sandbox/benchmark.php?test=all〈...
Perhaps this suggests another test for the shoot-out: servicing
simultaneous web requests for dynamically generated pages that do not
involve database requests.
What say you?
Thanks,
David
I was asking Jonas :-)
>
> > It's basicly a game to see which can conform to the benchmark the
> > best. Take any result with a huge amount of salt.
>
> Saying - take any result with a pinch of salt - suggests there's
> something wrong with the results themselves, but that isn't what you
> say in the following comments.
>
> Rather than " take any result with a huge amount of salt" you seem to
> mean - don't generalize from those specific results to other different
> situations (100m times would be a bad predictor of marathon finish
> times and vica versa).
>
Yes that was my main point. And of course to the fact that the
shootout benchmarks aren't meant as a way to make discisions. Maybe
the salt mountain was a wrong picture to paint (I think faster than I
write, which usually results in wrongfull use of imagery :-).
My main problems with the shootout (which is probably the best
implemented benchmark across languages, and loads of fun and
informational) are that startup is penalized, while memory leaks
really aren't (I'm not saying that any implementations leak, but leaks
are hard to detect in programs that only run a short amount of time).
I've been toying with the idea to fork the benchmarks with a change
where the benchmarks would take atleast an hour per test (no matter
how impractical in implementation :-) . I think that would be a more
honest result as most important applications these days are longer
running applications.
Although saying this I do realize that most applications are just
wainting for input from a user.
All of the above is my very humble opinion ;-) and I might be very
wrong (which I can accept :)
As far as going back to the topic, I think Scala is a great starting
point for scalable web applications based on my experiences/research
with LAMP and java based applications.
On Jun 16, 9:49 am, "David Pollak" <feeder.of.the.be...@gmail.com>
wrote:
> Isaac,
>
> Perhaps this suggests another test for the shoot-out: servicing
> simultaneous web requests for dynamically generated pages that do not
> involve database requests.
>
> What say you?
That would be another test, but not the same kind of test as the
others shown in the benchmarks game.
It's hard enough for people to figure out what's going on in those 50
line programs - once you layer on a web framework, forget about it.
-snip-
> startup is penalized
I have more patience with that complaint when someone makes the effort
to find out whether or not it is significant for those specific
programs (I also have more sympathy for the Erlang guys - they are
starting up an application server!).
> I've been toying with the idea to fork the benchmarks with a change
> where the benchmarks would take at least an hour per test (no matter
> how impractical in implementation :-)
Please do! (Just don't call it the benchmarks game.)
> I think that would be a more honest result as most important applications these
> days are longer running applications.
Be careful about saying "honest" - most people take the slightest
suggestion that they are less honest very personally.