Date: Thu, 14 Sep 2006 14:03:17 -0400 From: Martin Cracauer <cracauer@cons.org> To: Danny Braniss <danny@cs.huji.ac.il> Cc: freebsd-hackers@freebsd.org Subject: Re: numbers don't lie ... Message-ID: <20060914180317.GC16873@cons.org> In-Reply-To: <E1GNOLq-000DC2-1Q@cs1.cs.huji.ac.il> References: <E1GNOLq-000DC2-1Q@cs1.cs.huji.ac.il>
next in thread | previous in thread | raw e-mail | index | archive | help
Danny Braniss wrote on Wed, Sep 13, 2006 at 09:36:01AM +0300: > Im testing these 2 boxes, Sun X4100 and Dell-2950, and: > > SUN X4100: Dual Core AMD Opteron(tm) Processor 280 (2393.19-MHz K8-class CPU) > one 70g sata disk > DELL 2950: Intel(R) Xeon(TM) CPU 3.20GHz (3192.98-MHz K8-class CPU) > 4 sata disks + raid0 > > they both run identical 6.1-STABLE. > > my 'cpu benchmark' shows the amd being much better than the intel. > but, doing a make buildworld give interesting results: > > dell-2950 : make -j16 TARGET_ARCH=amd64 buildworld : 24m17.41s real 1h3m3.26s > user 17m15.07s sys > dell-2950 : make -j8 TARGET_ARCH=amd64 buildworld : 24m8.28s real 1h2m59.38s > user 16m16.20s sys > > sunfire : make -j16 TARGET_ARCH=amd64 buildworld : 24m21.38s real 49m6.68s > user 14m22.64s sys > sunfire : make -j8 TARGET_ARCH=amd64 buildworld : 23m47.69s real 48m53.58s > user 13m44.81s sys > > which probably says something about my 'cpu benchmark' :-( > but why is the user time so much different between the boxes? I don't think this has much to do with parallelism or hyperthreading. You can test by running make -j1, the AMD will probably still be faster. Fact is that the AMD64 is much more suitable to run "random" code fast, whereas Intel's Netburst architecture is extremely picky and only runs fast what it likes (after the programmer went through Intel's 500 pages ia32 optimization manual and could yell at the compiler writer all the time). Compilation in gcc and scripting of any kind, including make(1) are one of the strongest points of AMD64 over Netburst. Toy benchmarks usually run fast on Netburst because they fit into the caches, they don't overtax the trace cache and they usually don't use any good amount of data or any sizeable piece of code with deep call stacks. That's why toy benchmarks are so evil. I wish spec would kick out more of their toy benchmarks, BTW. Intel's new core2 architecture rectifies this nonsense. And not only that - they now give you a good speedup for some applications that were lousy even on AMD64. Martin -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <cracauer@cons.org> http://www.cons.org/cracauer/ FreeBSD - where you want to go, today. http://www.freebsd.org/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060914180317.GC16873>