4 ms·
The other responses to this have been woefully speculative at best, plain wrong in others. The short answer is to rent one for a month and benchmark your partic
by hosay123 13y ago
The other responses to this have been woefully speculative at best, plain wrong in others. The short answer is to rent one for a month and benchmark your particular application.
I was surprised to discover that with a workload composed entirely of XML parsing using Python+lxml, an OVH 1.8ghz Atom N2800 beat hands down my mid-2010 2.4ghz Macbook Pro. This isn't a crazy result either. For instance, while the Macbook is equipped with dual cores, each core supports only one hardware thread, and thus is blocked while waiting to complete a load from RAM (a common occurrence when dealing with giant cache-unfriendly DOM trees that don't benefit from the Core 2's much increased L2).
In contrast the N2800 has 2 cores with 2 hardware threads each (hyperthreading), so each core can progress while its buddy thread is stalled. In my particular workload this was enough to beat by a significant margin a much faster, expensive and power-hungry processor.
- dragontamer 13y agoNo offense... I don't buy it. Core2s have significantly better memory bandwidth, because they're dual-channel. They stream memory significantly more efficiently than N2800 Atoms. When a Core2 Duo has a memory stall, it can start executing other instructions out of order to compensate. Typically, out-of-order cores seem to do more for efficiency than hyperthreading. If Apple screwed up by only giving a single DIMM (it happens on lower-end hardware, but I'd be pissed if I learned that an expensive Macbook were improperly configured memory-wise)... maybe the Atom would have a chance. But a properly-configured dual-channel RAM Core2 Duo, as old as it is, still would stream data faster from RAM than an Atom could. Almost twice as fast in fact. If the N2800 does perform better on this workload, I'd be definitely interested in seeing the exact numbers... if you don't mind. I actually do own a Hyperthreaded Atom (N570) and Core2 Duo (some old crap desktop version) myself. So... I'd be able to repeat the experiment :-p
- hosay123 13y agoAll the bandwidth in the world shouldn't matter if the underlying technology has the same latency and the memory bus is serving a fixed number of small requests in parallel, right? Overall processing speed in an uncached memory bound application is limited by the latency of the storage tech (somewhere around 10 million "requests"/sec assuming 100ns access time, and assuming the app did absolutely nothing except randomly access memory). In my case I had 1 software thread per thread, I'm not sure if over-subscription would make any difference. Also, out of ordering processing is only possible in the absence of data dependencies (I have no idea how to even go about measuring this). Also tree structures are no different to random walks from the hardware's perspective, i.e. the hardware has no useful predictive ability to prefetch data in this case. The main point was that it's so cheap to test, there's little value in speculating about architecture specifics few are qualified to understand, assuming they're publicly documented in the first place
- dragontamer 13y agoFair enough. But given my experience with Atoms... the potential of hitting CPU bottlenecks is definitely higher on Atoms than on other computers. The significantly smaller cache and lower clock certainly don't help either. You're right in that its extremely easy to test, even to buy yourself an atom at home. Netbooks are regularly under $300, Clovertrail Atom Tablets are ~$400. Older Atom 330-based Netbooks are probably even cheaper. Its not like you're trying to test out the performance of a 64-core Quad Opteron or something. And of course, the ability to just rent one for 3 months at a time from Kimsufi for less than $20 is always available.