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 mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 62D3FBC57 for ; Tue, 30 Nov 2010 09:36:49 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlYBALpG9EzRVdY0k2dsb2JhbACUf44DCBUBAQEBCQkKCREDH6cVi3wBBY4/AQSCE4M0 X-IronPort-AV: E=Sophos;i="4.59,279,1288566000"; d="scan'208";a="80952681" Received: from mail-bw0-f52.google.com ([209.85.214.52]) by mail4-smtp-sop.national.inria.fr with ESMTP; 30 Nov 2010 09:36:11 +0100 Received: by bwz4 with SMTP id 4so4676766bwz.39 for ; Tue, 30 Nov 2010 00:36:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:from:content-type :content-transfer-encoding:subject:date:message-id:to:mime-version :x-mailer; bh=3LPK+mTg7BdPcMgkvKP1sn2F9VrFHQnaZJH+XFanpgE=; b=wqXqYJ5SnYUOOrT+Q9pin5rwhSVCOvopdWRCCPiRZRfa9aNR7UNwBwGehMKvmSIdgn tJ7fBgh0Hkmq0WceeTSrRpTQHaesRWt/M90ACbiOFKasS5U6kQ7Q/O3/PUiE3k+G7Clj 8JDld/L8Hrfgwyc+Xs5CFxH8Q06wDuLbdcYZU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; b=pnvT0Qiqabl8DnPXGzedcz0B+c38u2/RuHrU0oYjHCkIlW3dsTGKEEgXImzEB950De tpxgiQhBudgT+Z4afQcPY/eAk9c+cJ9mBuHCJIQ/hnOqWn4e1BXBtpk3KqvF54q2JiUK Gay4GXfPs5T879E1h2BYPDGY5/5U1S4ZUQ+WE= Received: by 10.204.62.17 with SMTP id v17mr314599bkh.67.1291106169756; Tue, 30 Nov 2010 00:36:09 -0800 (PST) Received: from bespin.informatik.uni-siegen.de (bespin.informatik.uni-siegen.de [141.99.131.92]) by mx.google.com with ESMTPS id 11sm2526295bkj.12.2010.11.30.00.36.08 (version=SSLv3 cipher=RC4-MD5); Tue, 30 Nov 2010 00:36:09 -0800 (PST) From: Benedikt Meurer Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: OCamlJIT2 vs. OCamlJIT Date: Tue, 30 Nov 2010 09:36:07 +0100 Message-Id: <3DCEA910-1382-47E5-876B-059178F8F82E@googlemail.com> To: caml-list@yquem.inria.fr Mime-Version: 1.0 (Apple Message framework v1081) X-Mailer: Apple Mail (2.1081) X-Spam: no; 0.00; ocamlopt:01 ocamlopt:01 byte-code:01 stack-based:01 translating:01 byte-code:01 compilation:01 compilation:01 2.0:98 thesis:01 short:01 surprising:01 alain:01 linear:02 implemented:02 Hello everybody, I did some final work on OCamlJIT2, and compared the result to OCamlJIT. = The performance measures are presented in the following tech report = (skip straight to section 4 for the performance results): http://arxiv.org/abs/1011.6223 In short: Performance measured on a P4 "Northwood" (no long mode, plain = x86) 2.4GHz. OCamlJIT2 beats OCamlJIT by a factor of 1.1 to 2.0 in every = benchmark, and - rather surprising - was even able to beat ocamlopt in = the number crunching benchmark (probably an issue with the x86 backend = of ocamlopt). As mentioned by Xavier Leroy and others previously, we probably went as = far as we could go in the direction of JITting the byte-code virtual = machine, while preserving its general stack-based nature and instruction = set. Moving even further means translating the byte-code to some = intermediate form suitable for use with standard compilation techniques; = but as we saw earlier, in an LLVM-based prototype, the compilation = overhead increases dramatically and the benefit of JIT compilation = vanishes. Therefore, as suggested earlier, I'll try to get my hands on the native = top-level now (already contacted Alain for the emitter code). = Additionally, the linear scan register allocation will be implemented by = a student as part of his diploma thesis. regards, Benedikt=