From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 5FA55BB84 for ; Tue, 18 Apr 2006 10:33:51 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id k3I8XocH015687 for ; Tue, 18 Apr 2006 10:33:51 +0200 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id KAA10849 for ; Tue, 18 Apr 2006 10:33:50 +0200 (MET DST) Received: from [128.93.11.95] (estephe.inria.fr [128.93.11.95]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id k3I8XmEN015682 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 18 Apr 2006 10:33:48 +0200 Message-ID: <4444A46C.5000102@inria.fr> Date: Tue, 18 Apr 2006 10:33:48 +0200 From: Xavier Leroy User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050322) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Michel Schinz Cc: caml-list@inria.fr Subject: Re: [Caml-list] Performance of threaded interpreter on hyper-threaded CPU References: In-Reply-To: X-Enigmail-Version: 0.90.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 4444A46F.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 4444A46C.002 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; gcc:01 bytecode:01 gcc:01 3.2:98 caml-list:01 compiling:02 threaded:03 threaded:03 interpreter:06 interpreter:06 inria:06 xavier:06 xavier:06 leroy:07 leroy:07 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 > When the ratio given in the last column is greater than 1, then > threaded code is faster than the switch-based solution. As you can > see, this is only true in my case for non-hyper-threaded > architectures. Which version(s) of gcc do you use for compiling the bytecode interpreter? Is it the same version on all machines? The reason I'm asking is that some versions of gcc are known to generate poor code for threaded interpreters, e.g. gcc 3.2 generates inferior code compared to gcc 2.95. For more info, google for "Anton Ertl gcc". - Xavier Leroy