From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adam Porter Subject: Re: org-mode functional programming library Date: Tue, 04 Feb 2020 01:43:20 -0600 Message-ID: <87ftfqyezr.fsf@alphapapa.net> References: <87o8uxellj.fsf@yavin4.ch> <87o8uict20.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:45785) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iysrp-0003QL-F2 for emacs-orgmode@gnu.org; Tue, 04 Feb 2020 02:43:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iysro-0005nv-C4 for emacs-orgmode@gnu.org; Tue, 04 Feb 2020 02:43:29 -0500 Received: from ciao.gmane.io ([159.69.161.202]:58870) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iysro-0005jC-5f for emacs-orgmode@gnu.org; Tue, 04 Feb 2020 02:43:28 -0500 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1iysrm-0008nt-Gg for emacs-orgmode@gnu.org; Tue, 04 Feb 2020 08:43:26 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane-mx.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org Nicolas Goaziou writes: > Note that, at some point, Org will support "seq.el", i.e., when we > drop support for Emacs 24. Just a small FYI about seq.el, for those who may not be aware: while it's a very useful library, it can be quite slow since it uses generics. For example, here are some benchmarks comparing seq-intersection with other functions that intersect lists: https://gist.github.com/alphapapa/36b117c178dec677258f372c3a01d8b5 Note the last benchmark listed, which shows that cl-intersection is about 2x as fast as seq-intersection. As well, dash.el's -intersection is about 17x faster than seq-intersection. So while seq.el will undoubtedly be useful in Org, it should be used carefully with regard to performance. Type-specific functions will generally be much faster. And as long as dash.el can't be used in Org proper, a custom implementation may be called for at times.