From: Nicolas Petton Date: Wed, 29 Apr 2015 17:01:56 +0000 (+0200) Subject: Faster implementation of map-empty-p X-Git-Tag: emacs-25.0.90~1873^2~4 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a5237a049981dbad2ecc3b17d47257ce164a8e70;p=emacs.git Faster implementation of map-empty-p * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using specific tests depending on the type of the map. --- diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el index ff0dc120c8a..18d2963f46c 100644 --- a/lisp/emacs-lisp/map.el +++ b/lisp/emacs-lisp/map.el @@ -150,7 +150,11 @@ FUNCTION is called with two arguments, the key and the value." (arrayp map))) (defun map-empty-p (map) - (null (map-keys map))) + "Return non-nil is MAP is empty." + (map--dispatch map + :list (null map) + :array (seq-empty-p map) + :hash-table (zerop (hash-table-count map)))) (defun map-contains-key-p (map key &optional testfn) "Return non-nil if MAP contain the key KEY, nil otherwise.