From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Tom Tromey Newsgroups: gmane.emacs.devel Subject: Re: Emacs Lisp JIT Compiler Date: Wed, 15 Aug 2018 18:32:35 -0600 Message-ID: <877ekri21o.fsf@tromey.com> References: <87va8ej4o1.fsf@tromey.com> <17e1d5ea-d8f7-9c94-979b-e89d119fe72c@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1534379518 22689 195.159.176.226 (16 Aug 2018 00:31:58 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 16 Aug 2018 00:31:58 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux) Cc: Tom Tromey , emacs-devel@gnu.org To: =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Aug 16 02:31:53 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fq6Cf-0005nh-3E for ged-emacs-devel@m.gmane.org; Thu, 16 Aug 2018 02:31:53 +0200 Original-Received: from localhost ([::1]:52833 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fq6El-0006MR-Fg for ged-emacs-devel@m.gmane.org; Wed, 15 Aug 2018 20:34:03 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53967) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fq6E0-0006MG-S3 for emacs-devel@gnu.org; Wed, 15 Aug 2018 20:33:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fq6Dx-0008N8-4L for emacs-devel@gnu.org; Wed, 15 Aug 2018 20:33:16 -0400 Original-Received: from gateway22.websitewelcome.com ([192.185.46.224]:48556) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fq6Dv-0008MV-EX for emacs-devel@gnu.org; Wed, 15 Aug 2018 20:33:13 -0400 Original-Received: from cm15.websitewelcome.com (cm15.websitewelcome.com [100.42.49.9]) by gateway22.websitewelcome.com (Postfix) with ESMTP id 341F715CC1 for ; Wed, 15 Aug 2018 19:33:10 -0500 (CDT) Original-Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id q6DNfFqVDbXuJq6DgfdVtj; Wed, 15 Aug 2018 19:33:09 -0500 X-Authority-Reason: nr=8 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=E6tHYWRXVnNMIpSTzNm+Q6vSDrHHlfiX1ln/1jps+KM=; b=QnHLG/ZFETvZAEkkphH/oMvy0V yKDyo7A+Rsvtu1I06WkDyRueBBIq6VhRkuoOmZPN+0Gc1PN9itMXBtWQBJUv3Houk68k/RDX1jFIX 857Xwh3LexIGFDedW90YlaJ8l; Original-Received: from 75-166-85-72.hlrn.qwest.net ([75.166.85.72]:39608 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1fq6DN-002ITv-0K; Wed, 15 Aug 2018 19:32:37 -0500 X-Attribution: Tom In-Reply-To: <17e1d5ea-d8f7-9c94-979b-e89d119fe72c@gmail.com> (=?utf-8?Q?=22Cl=C3=A9ment?= Pit-Claudel"'s message of "Tue, 14 Aug 2018 20:21:49 -0400") X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 75.166.85.72 X-Source-L: No X-Exim-ID: 1fq6DN-002ITv-0K X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 75-166-85-72.hlrn.qwest.net (bapiya) [75.166.85.72]:39608 X-Source-Auth: tom+tromey.com X-Email-Count: 8 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 192.185.46.224 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:228578 Archived-At: >>>>> "Cl=C3=A9ment" =3D=3D Cl=C3=A9ment Pit-Claudel writes: Cl=C3=A9ment> I compiled and installed libjit, and things seem to build fin= e here. Thank you for trying it. Cl=C3=A9ment> Benchmarking a simple loop yields an impressive 4x speedup (f= rom 1 Cl=C3=A9ment> second down to 0.25s). However, benchmarking a larger applic= ation Cl=C3=A9ment> seems to yield a 30% slowdown (from 5.5s to 7.5s). I haven't Cl=C3=A9ment> investigated why yet. Have you seen similar variations? I have not really done that much benchmarking. However, please send me your test case (or tell me what it is) and I will take a look. I'd expect the JIT to be at its best for some kinds of integer code and things like walking lists -- it knows how to emit some simple things inline. One reason it could be slower is if the compiler is compiling many functions that don't often run. Many JITs have some heuristic about when to compile, this could be done here as well. Tom