From owner-freebsd-hackers@FreeBSD.ORG Thu Sep 14 18:03:28 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1262116A403 for ; Thu, 14 Sep 2006 18:03:28 +0000 (UTC) (envelope-from cracauer@koef.zs64.net) Received: from koef.zs64.net (koef.zs64.net [212.12.50.230]) by mx1.FreeBSD.org (Postfix) with ESMTP id 50BF743D6A for ; Thu, 14 Sep 2006 18:03:27 +0000 (GMT) (envelope-from cracauer@koef.zs64.net) Received: from koef.zs64.net (koef.zs64.net [212.12.50.230]) by koef.zs64.net (8.13.8/8.13.8) with ESMTP id k8EI3Hl2017350; Thu, 14 Sep 2006 20:03:17 +0200 (CEST) (envelope-from cracauer@koef.zs64.net) Received: (from cracauer@localhost) by koef.zs64.net (8.13.8/8.13.8/Submit) id k8EI3HqL017349; Thu, 14 Sep 2006 14:03:17 -0400 (EDT) (envelope-from cracauer) Date: Thu, 14 Sep 2006 14:03:17 -0400 From: Martin Cracauer To: Danny Braniss Message-ID: <20060914180317.GC16873@cons.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.2i Cc: freebsd-hackers@freebsd.org Subject: Re: numbers don't lie ... X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Sep 2006 18:03:28 -0000 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 http://www.cons.org/cracauer/ FreeBSD - where you want to go, today. http://www.freebsd.org/