From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?B?7KGw7ISx67mI?= Newsgroups: gmane.emacs.help Subject: Re: Why is Elisp slow? Date: Tue, 7 May 2019 02:45:00 +0900 Message-ID: <443E6AB4-2478-4677-8A23-A0B04559E949@icloud.com> References: <83tvebn1we.fsf@gnu.org> <20190503125832.44ovncaxp3vyjsla@Ergus> <20190504133218.g3ysx3ksuyvlthg3@Ergus> <831BD780-F954-4E23-BF31-ED4E135C919B@icloud.com> <20190506125848.okei2qrib7m5p3vx@Ergus> <20190506161757.wg4wy3vr7emxnciv@Ergus> Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="106134"; mail-complaints-to="usenet@blaine.gmane.org" Cc: help-gnu-emacs@gnu.org To: Stefan Monnier Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon May 06 19:56:06 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hNhqQ-000RVu-CO for geh-help-gnu-emacs@m.gmane.org; Mon, 06 May 2019 19:56:06 +0200 Original-Received: from localhost ([127.0.0.1]:60232 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNhqP-00036w-B9 for geh-help-gnu-emacs@m.gmane.org; Mon, 06 May 2019 13:56:05 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:43276) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNhfr-00030v-9H for help-gnu-emacs@gnu.org; Mon, 06 May 2019 13:45:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hNhfq-0000vW-7w for help-gnu-emacs@gnu.org; Mon, 06 May 2019 13:45:11 -0400 Original-Received: from pv50p00im-ztdg10021101.me.com ([17.58.6.44]:38642) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hNhfo-0000t7-5i for help-gnu-emacs@gnu.org; Mon, 06 May 2019 13:45:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=04042017; t=1557164704; bh=hfKeJ2yNcFWAuqUwwvNr4BCFS8ZHrJH5tHiOJN7/fHo=; h=Content-Type:Mime-Version:Subject:From:Date:Message-Id:To; b=GSDFa+d8G7HCgLRbhk/+VNfiMkx4em9dPd4F/bhsk7HajiMbfJMoHHw8QwmaxNLWf DXyPSXB1hh2QAdeEWISuo/o92aewPd6IsnNIRNR/G7hWKBMyP/aTGM6r7n2nxhsU5s vvcQI8nIvpqOGsh7002+irSUtDSPntJqhlIkt6SdaWTOl6qlZ1lb6rF6bzC9e1wOJJ wzVEXMA4R0jcW9zlLIP3ZfOaNU5XOC4f6lvHLc4QSUp77YX8Q7gcIhlsOvBcAZrAdC RckeciYZx1M277E40lZNPp2m804yjEXgEf3SwrbjFJMBu97XTRqWehJJRVbjrDG0EK ZyaKLuH5WAHOA== Original-Received: from [192.168.0.11] (unknown [1.230.108.64]) by pv50p00im-ztdg10021101.me.com (Postfix) with ESMTPSA id 7847E18098A; Mon, 6 May 2019 17:45:03 +0000 (UTC) In-Reply-To: X-Mailer: Apple Mail (2.3445.9.1) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-05-06_10:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0 mlxlogscore=490 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1812120000 definitions=main-1905060150 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 17.58.6.44 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:120233 Archived-At: > 2019. 5. 7. =EC=98=A4=EC=A0=84 2:25, Stefan Monnier = =EC=9E=91=EC=84=B1: >=20 > I totally agree with the sentiment; we'd benefit from "out-sourcing" = the > maintenance of the language implementation, but we can't just replace > Elisp with something else, so we need to find another well-maintained > Elisp implementation that's at least as good as that we have now. I=E2=80=99m curious: How likely is this to happen? This would be truly = great if happening :-)=20 > AFAIK the options are: > - Keep what we have > - Move to Guile > - Move to CLISP > - Move to SBCL > CLISP is not actively maintained nowadays. > AFAIK SBCL is alive and kicking, but I'm not sure how well it works on > platforms other than GNU/Linux-on-AMD64. I can confirm that SBCL works great on at least these platforms: * Arch Linux(GNU userspace) on AMD64 (my friend=E2=80=99s confirmations) * macOS(Darwin) on AMD64 (I=E2=80=99m currently using macOS) * Windows 10 on AMD64 (my another friend=E2=80=99s confirmations) * Raspbian(GNU userspace) on ARM (at least when using SBCL about a year = before=E2=80=A6) CCL is similar (actually provides more support on non-GNU platforms). > Of course, Guile has the advantage that someone has already spent a = fair > bit of time implementing support for Elisp, whereas for CLISP and SBCL > that would be extra work (Elisp is close to a subset of CL but not > quite). Would that extra work outweigh than implementing Guile=E2=80=99s = language integration features? Perhaps an insightful person may know? May I ask what part of elisp makes implementing in CL hard? > Another approach would be to implement an Elisp-to-JS compiler and > then use one of the heavily-optimized JIT-compilers for JS. > Compiling Elisp to JS should be much easier than compiling to > native code. If possible, this would be more than great as we would be able to use = the *big* number of JS packages in npm registry out there. >=20 > Stefan >=20