| ||||
Comment on Recommended reading: Why mobile web apps are slow (Drew Crawford) by Timo Kinnunen
It’s an interesting article to be sure. That chart is really striking in showing what the effect of not using the best possible Garbage Collector implementation can be. The difference between Non-compacting Mark-Sweep which I guess was and still is comparable to the Boehm-GC and Generational Mark-Sweep like in Java in 2005 doesn’t even fit into the same chart! Quantifying the Performance of Garbage Collection vs. Explicit Memory Management, the paper from which that chart is from also has other interesting charts. Now if I’m reading the benchmark results from Figure 7a-f right, as the available memory increases between 50->70MB, 70->110MB, 60->90MB, 40->60MB, 45->50MB and 40->50MB for the six different benchmarks, Generational Mark-Sweep GC from 2005 goes on to perform just as well as clairvoyant malloc&free. To me in 2013 sitting at a computer with 11936MB of memory just caching files that are currently not used, the tradeoff seems like a no-brainer as long as you can afford it. Read More »
Comment on Recommended reading: Why mobile web apps are slow (Drew Crawford) by Herb Sutter
@Timo: It’s not just about the performance of GC (requiring 5x space cost to be comparable in perf). Even beyond that, it’s also about determinism (which the article alludes to briefly) and control over where things are allocated (e.g., if you’re serious about performance, you’ll often use arrays and GC’d object graphs are antithetical to performance in many cases — you can still get arrays but you’re fighting against the system to get performant data layouts; and control over hold/cold data separation and cache line layouts both of which are hard in managed environments that often don’t give you the control you need to specify things like alignment directly). Read More »
Comment on Recommended reading: Why mobile web apps are slow (Drew Crawford) by pjmlp
@Herb: I am no expert in compiler design. Just someone that got really interested into the field during the university and still follows with passion this subject. Although, like many, I tend to write standard line of business applications in C++/JVM and .NET languages. The article you pointed you is very interesting read as I mentioned in a previous comment. What I think is usually missing from these discussions, is that GC and JIT tend to be mixed up with VM based environments when discussing managed versus native. Although, there are quite a few languages with GC, sadly not mainstream, that compile to native code. What would actually interest me is to know how well such languages would fare, if their native compilers had an optimizer with the same amount of investment as C and C++ compilers enjoy since the early 80′s. Read More »
Comment on Recommended reading: Why mobile web apps are slow (Drew Crawford) by Brian M
@Timo the trouble is the ‘no brainier’ and ‘if you can afford it’ is the problem. Not every platform is going to have the luxury of copious amounts of memory! It’s not that long ago smartphones had just 512Mbtes of RAM and even that is generous compared to small web connecting devices even today. Read More »
Comment on Recommended reading: Why mobile web apps are slow (Drew Crawford) by M.S. Babaei
@pjmlp Go does. Go has gc and compiles to native. Read More » | ||||
| ||||
Friday, July 12, 2013
and C++ compilers enjoy since the early 80′s.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment