6 ms·
> The experiments where performed on a 2.7Ghz quad core MacBook Pro with both client and server running locally, so as to better measure pure processing overhea
by est 13y ago
> The experiments where performed on a 2.7Ghz quad core MacBook Pro with both client and server running locally, so as to better measure pure processing overhead. The client would make 100 concurrent connections and send a total of 1 million pings to the server, evenly distributed over the connections. We measured the average round trip time.
Another let's rape localhost:8080 on a MacBook Pro™ benchmark
- aa0 13y agoBenchmarked? More like benchmucked.
- rkangel 13y agoThe way I see it, instead of basing a decision on what's currently fashionable, they've gone for some empirical data and have actually conducted an experiment. Sure this is a fairly simplistic first step, but so should all first steps be as you gain understanding, and it's proved its worth by producing a surprising result in a very simple case, that's worth understanding before moving on to more complicated tests. What you've got here is engineering, rather than just making it up as you go along.
- dmit 13y agoThe only conclusion that can be reached from this is that a certain implementation of a TCP client/server for sending 4-byte payloads over the OS X loopback interface written in Scala is faster than another implementation written in Go. That conclusion in itself is absolutely useless, because nobody would ever use that particular code to perform that particular task. But it's also dangerous since it generalizes the result of this particular test to imply that one language is better than another at all tasks related to pumping bytes over the wire. And that aside, it still fails as an experiment because the results are neither provable nor repeatable. There is not enough information about the environment used to run the test and there is no detailed test output. We get two numbers ("average round trip" for each implementation), but we can't check that they are correct, and we can't look at the distribution or calculate other, potentially more useful metrics. Even the code provided is different from the code used in the actual test.
- jdub 13y agoPlease don't use the R word, which is so deeply emotive and meaningful, in such an inappropriate context.
- fleitz 13y agoRape has meanings other than non-consensual sex. GP: Please use the word rape to the full extent provided by the english language, and let those who don't like the word deal with it. As for the benchmark, who writes their own load balancer? Isn't this generally a solved problem? If the point is to extract max performance from a simple ping-pong server then I'd go right to C and epoll/libevent/etc. I'm guessing that the team is somehow trying to extrapolate data from a ping-pong server to the actual problem they're trying to solve which is dare I say, stupid. In general the best way to solve this problem is use whatever language the team / person writing the software likes because having them write it faster generally outweighs whatever server costs one will run into, whenever this is not the case the best answer is 99% of the time: write it in C.
- glurgh 13y agoRape has meanings other than non-consensual sex. Not really. Ravish might. But other than on, say, gamer message boards, 'rape' doesn't have many other meanings than forcible sexual assault. Take a look at the usage in print and find casual uses of 'rape' in that context.
- deleted 13y ago[deleted]
- edu 13y agorape 1 |rāp| noun [...] 2 the wanton destruction or spoiling of a place or area: the rape of the Russian countryside. Source: New Oxford American Dictionary edit: styling, source
- glurgh 13y agoThat's right. A lot words have metaphorical uses. Now, would you say 'it lynched that server' or 'it made that server its bitch'? You could, surely. The meaning will be clear. You'll still sound like a complete douchebag. And that's really the point - not getting into some three mile debate about denotation and connotation - it's to not sound like a douchebag.
- plainOldText 13y agoYeah, I'd be wary of benchmarks where the server and client run on the same machine.
- laumars 13y agoI thought this. While I don't think that benchmark is entirely worthless, it's hardly conclusive enough to be basing a business decision on: * What's the concurrency like between two servers? (you need to test both low and high concurrent loads) * What's the difference between the two in creating new connections and/or threads? * What's the performance like when you up the number of packets per connection? (a simple ping pong hiding buffering performance etc). * What's the performance like on the host platforms? (I'm going to assume that they're not the same OS on their Macbooks as they will be on their load balancers). Of course, arguing a case of using Scala because it's a language they're already proficient in is itself a perfectly valid reason. But my issue is they seemed more interested in picking either language based on the best performance without actually evaluating the performance of either in any detail.