In this presentation filmed during QCon SF 2008, Aditya Agarwal discusses Facebook’s architecture, more exactly the software stack used, presenting the advantages and disadvantages of its major components: LAMP (PHP, MySQL), Memcache, Thrift, Scribe.
The Computer Language Benchmarks Game is a collection of 1368 programs, consisting of 19 benchmark reimplemented across 72 programming languages. It is a fantastic resource if you are trying to compare programming languages quantitatively. Which, oddly, very few people seems to be interested in doing.
The Benchmark Game spends a lot of efforts justifying itself against claims that the benchmarks are always flawed and that the whole exercise is pointless. I don’t think it is. In fact, I’ve found that The Game is remarkably effective at predicting which forum hosts programmers annoyed at the slowness of their language, and that’s good enough for me.
I was happy to find that in addition to speed The Game also publishes a source-code-size metric for each benchmark programs in each language. Thanks to this The Game let us at explore a fascinating aspect of programming language design: the tension that exist between expressiveness and performance. It is this tension that gives the expression “higher-level programming language” a pejorative connotation. When you are coding this high, you might be writing beautiful code, but you are so far away from the hardware you can’t possibly get good performance, right?
C# (3, 4) has the same shape as Java (3, 7), merely 1, 2, or three rows down, depending on how you count. The arrival of Scala (6, 7) in the Java world is a mixed blessing. While it fixes the worse convolutions (it has no top-of-the-square points) it also introduces terrible performance hiccups (the points which shoots out to the right.)
Does introducing functional features kill performance?
No, it does not. In the following chart, the ordering is the same as in the large chart. Languages which include functional features such as lambda, map, and tail call optimization are highlighted in green. C compilers, C++ and C-derivatives are in blue. The blues dominate the first column. The greens occupy the main diagonal, from the oddball corner to the “ideal” corner. Ultimately the first factor of performance is the maturity of the implementation.
Please look at the following links for all the Open Source SOA solutions:
Choice-The choice I make today doesn’t limit the choices I can make in the future.
Flexibility–I can connect to internal departments and external partners that made different technology choices.
Speed–I can build new solutions that involve multiple hardware and software platforms quickly.
Agility–I can adjust to changing business parameters (new opportunities, new partners, new employees) quickly.
Skills–I can find skilled resources that understand these solutions.
The worlds No. 1 DJ is heading to South Africa for two shows in Jhb and CT. As if landing the World No 1 DJ wasn’t enough, Godskitchen have packed their Boombox concept which presents a completely unique architectural, multimedia, visual and music experience in South Africa for the first time.
Armin van Buuren has been named number one in the prestigious DJ Top 100 poll twice in a row, an indication of his prolific output over the 10 years he’s been dj’ing and producing. Being the official World’s Most Popular DJ is just one of his many achievements, but the driving force behind his success is an overriding passion for dance music.
We can’t wait for the show in Jhb…it is going to be awesome!Armin I am one of your biggest fans and listens to all your shows, you deserve to be the best!See you soon mate!