From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Wojciech Meyer Newsgroups: gmane.emacs.devel Subject: Re: Pushing the `gnus-range-*' functions down into the C layer Date: Fri, 10 Sep 2010 11:20:38 +0100 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: dough.gmane.org 1284114083 21309 80.91.229.12 (10 Sep 2010 10:21:23 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 10 Sep 2010 10:21:23 +0000 (UTC) Cc: emacs-devel@gnu.org To: Andy Wingo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 10 12:21:21 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ou0jP-0005DF-4Y for ged-emacs-devel@m.gmane.org; Fri, 10 Sep 2010 12:21:19 +0200 Original-Received: from localhost ([127.0.0.1]:53877 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ou0jO-0001eJ-AC for ged-emacs-devel@m.gmane.org; Fri, 10 Sep 2010 06:21:18 -0400 Original-Received: from [140.186.70.92] (port=38401 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ou0im-0001Qk-Bw for emacs-devel@gnu.org; Fri, 10 Sep 2010 06:20:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Ou0il-0007zR-57 for emacs-devel@gnu.org; Fri, 10 Sep 2010 06:20:40 -0400 Original-Received: from mail-qy0-f176.google.com ([209.85.216.176]:64401) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ou0il-0007zK-35 for emacs-devel@gnu.org; Fri, 10 Sep 2010 06:20:39 -0400 Original-Received: by qyk2 with SMTP id 2so2791162qyk.0 for ; Fri, 10 Sep 2010 03:20:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=sKrnTTFPLEZ3tVPmdjJX/zogpArppAQoqlXEVBKeStA=; b=dbKmZZQVfULeAWt2E4j4t7zLHNL4C2g/kJrLQeYEDx/b1JNvoZ14tCLxw0kCIPoVo9 pfQypNf9MLaoygnpCIuhJoCNXnqjTsaUa5VyhTpm9pXVrMepjl1XZiXKht+SfnycBKGS iE0kA24FE5ztUIoa3hOkPyue+b2zT02iW4teU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=eG4ykws3SDOxqKQx6mSy2Ngu+z99rpEeJ8yUo/TwBMkMlJzewBTVoYnkBpZtq8mCmh G8TLEVeA/CX4tTjguKxwfCJWOK93Kksd0jaYoYDJDc4S+92uySmAqpIYPG5KkmNpi/G7 lTYgqnDdt0CACq2vXa77U0la8E0XvMwQ3U+uI= Original-Received: by 10.229.222.201 with SMTP id ih9mr457540qcb.10.1284114038297; Fri, 10 Sep 2010 03:20:38 -0700 (PDT) Original-Received: by 10.229.92.9 with HTTP; Fri, 10 Sep 2010 03:20:38 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:129874 Archived-At: > I should say that sometimes C is a necessary evil; but it's an evil > nonetheless. If you can fix this particular case algorithmically, that > would be loads better. Yes. I would say that you can bootstrap a compiler from minimal interpreter. Starting from a very basic primitives (especially Lisp is well suited for it). You can start from assembly, implement Forth, then go for Lisp, and then you can actually do anything, However at the end you probably re-implement half of the language again in gradual rise of the abstraction barrier. The key point here is to use C in project likes Emacs, not only for basic language primitives or things that cannot be done on the Lisp level but for all the critical functions as well. Deciding when the function should stay in the core is however another complex subject. So you trade efficiency for having a clean and minimal kernel. So yes, getting rid of C is good but some of stuff should stay in the core. In this case I think the problem is different, the functions proposed are very specific, and besides efficiency (which I think would not increase the performance that significantly, because of a nature of data structures here, and cost of allocation), there would be a minimal reason for doing it (however it is mine *PERSONAL* opinion), and also I believe (but maybe I am wrong), it could be fixed by replacing the algorithm. Nevertheless, I am curious how much it would increase the performance. Mine two (euro)cents, Wojciech > > Just my 2 eurocents, > > Andy > -- > http://wingolog.org/ > >