From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p8EB45Oh014260 for ; Wed, 14 Sep 2011 13:04:05 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: At8BAJiIcE7RVaE2imdsb2JhbABBFpkYjkQIFAEBAQoJDQcSBiKBUwEBAwEBEgImBgEBOAQLCzQSNAEFARw7h1UCAplHCo4XAY5hBYYOYKA9PYNw X-IronPort-AV: E=Sophos;i="4.68,380,1312149600"; d="scan'208";a="109032189" Received: from mail-fx0-f54.google.com ([209.85.161.54]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 14 Sep 2011 13:03:59 +0200 Received: by fxg9 with SMTP id 9so2829437fxg.27 for ; Wed, 14 Sep 2011 04:03:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=content-type:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to:x-mailer; bh=gJovBbDChIm69fGZbeM6RPDgM8xqDwRhxR+fkQCzPxw=; b=mNOpDcJbMCccenLCW9l44btonlEgwSwZoNCWmEsXwdyiYZ09fu8nnRgU7CV/s71cIZ hTMJDZ/D/HX6q9W8640e1qlit7vgoqwChCvHnMayWzQOQLqJhNRRbsMUMaMPIhVGKq6J VLi4kvNIwDvaziIRwGFbbXKs11WWnyLRm39Ho= Received: by 10.223.23.10 with SMTP id p10mr1100799fab.112.1315998239364; Wed, 14 Sep 2011 04:03:59 -0700 (PDT) Received: from coruscant.kosmos.all (ip-95-223-170-32.unitymediagroup.de. [95.223.170.32]) by mx.google.com with ESMTPS id c12sm3161832fad.14.2011.09.14.04.03.57 (version=SSLv3 cipher=OTHER); Wed, 14 Sep 2011 04:03:57 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1244.3) From: Benedikt Meurer In-Reply-To: Date: Wed, 14 Sep 2011 13:03:56 +0200 Message-Id: <790744C1-45D3-4DD2-ABD6-C259D05F9096@googlemail.com> References: To: caml-list@inria.fr X-Mailer: Apple Mail (2.1244.3) Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by walapai.inria.fr id p8EB45Oh014260 Subject: [Caml-list] Re: Towards a really native =?WINDOWS-1252?Q?toplevel=85?= ocamlnat w/o as/ld On Sep 3, 2011, at 18:19 , Benedikt Meurer wrote: > I'll push the i386 version once cleaned up and integrated with the approach implemented for the amd64 version now. The i386 version is also fully functional now, and our current prototype is available from the ocamlnat-jit branch from my "ocaml-experimental" repository at: https://github.com/bmeurer/ocaml-experimental/tree/ocamlnat-jit > It should be noted that there's still some room left for optimizations (i.e. use short jumps whenever possible, etc.), but the results so far are already quite promising: The new ocamlnat beats both the old ocamlnat as well as the byte code toplevel in every benchmark I've tried. I'll prepare a detailed comparison when time permits. I did a preliminary comparison today, results are available at: http://ps.informatik.uni-siegen.de/~meurer/tmp/ocamlnat-benchmark-20110914.pdf The results are given as speedup compared to the OCaml 3.12.1 byte code toplevel. "OCamlNat/jit" is ours, "OCamlNat/ext" is the ocamlnat thing that silently ships with OCaml 3.12.1, and "OCamlJIT2" is my previous byte code JITter. Time was measured as combined user+system time for the toplevel process plus all child processes. As you can see, we achieved speedups of up to 100 times faster than the byte code toplevel (which is in part related to the fact that llvm-gcc is the default compiler with OS X Lion, and thereby disables the register assignment optimizations for the byte code interpreter). greets, Benedikt