From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ted Zlatanov Newsgroups: gmane.emacs.devel Subject: Re: remove-duplicates performances Date: Fri, 20 May 2011 12:57:58 -0500 Organization: =?utf-8?B?0KLQtdC+0LTQvtGAINCX0LvQsNGC0LDQvdC+0LI=?= @ Cienfuegos Message-ID: <87k4dlp849.fsf@lifelogs.com> References: <877h9lv5tl.fsf@gmail.com> <878vu1qwde.fsf@fencepost.gnu.org> <87pqndcqfr.fsf@gmail.com> <871uztqpb7.fsf@fencepost.gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1305914300 26711 80.91.229.12 (20 May 2011 17:58:20 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 20 May 2011 17:58:20 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri May 20 19:58:16 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QNTxn-0004WJ-Eq for ged-emacs-devel@m.gmane.org; Fri, 20 May 2011 19:58:15 +0200 Original-Received: from localhost ([::1]:39339 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNTxn-0005j6-3A for ged-emacs-devel@m.gmane.org; Fri, 20 May 2011 13:58:15 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:37184) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNTxk-0005iq-ST for emacs-devel@gnu.org; Fri, 20 May 2011 13:58:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QNTxj-0005kV-Te for emacs-devel@gnu.org; Fri, 20 May 2011 13:58:12 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:46935) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNTxj-0005kL-ML for emacs-devel@gnu.org; Fri, 20 May 2011 13:58:11 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QNTxi-0004TZ-QS for emacs-devel@gnu.org; Fri, 20 May 2011 19:58:10 +0200 Original-Received: from 38.98.147.130 ([38.98.147.130]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 20 May 2011 19:58:10 +0200 Original-Received: from tzz by 38.98.147.130 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 20 May 2011 19:58:10 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 19 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 38.98.147.130 X-Face: bd.DQ~'29fIs`T_%O%C\g%6jW)yi[zuz6; d4V0`@y-~$#3P_Ng{@m+e4o<4P'#(_GJQ%TT= D}[Ep*b!\e,fBZ'j_+#"Ps?s2!4H2-Y"sx" User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:MbfoMtTxc638z3B0O9U003pz8dQ= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:139561 Archived-At: On Fri, 20 May 2011 19:01:16 +0200 David Kastrup wrote: DK> Well, the sorting function is a mess due to not being compiled and DK> fearing dynamic binding. If you byte-compile something like ... DK> the behavior is likely better. Incidentally, Doug Hoyte claims in "Let Over Lambda" that sorting networks have better performance than other sorting algorithms for small lists (25 elements was the biggest optimization example he gave). This seemed very reasonable to me because of their low memory and startup costs, though I don't know enough about the topic to recommend sorting networks in Emacs Lisp specifically. It may be worthwhile to generate optimized sorting networks for such small lists and to use them for sorting and (with modifications) for `remove-duplicates' and frequency counting. Is anyone interested? Ted