From fab9a925c3346a1bbefc0051ded565a9b51c9efc Mon Sep 17 00:00:00 2001 From: Daniel Ehrenberg Date: Wed, 17 Mar 2010 21:38:06 -0400 Subject: [PATCH] Reducing bit-sets performance regression somewhat --- basis/bit-sets/bit-sets.factor | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/basis/bit-sets/bit-sets.factor b/basis/bit-sets/bit-sets.factor index 9d3d09ec1b..aa74c2b9fb 100644 --- a/basis/bit-sets/bit-sets.factor +++ b/basis/bit-sets/bit-sets.factor @@ -30,6 +30,11 @@ M: bit-set delete ! of the same length. > ] [ @@ -62,13 +67,20 @@ M: bit-set subset? M: bit-set members [ table>> length iota ] keep [ in? ] curry filter ; -M: bit-set set-like +> ] bi@ length = ] [ f ] if + over bit-set? [ 2dup [ table>> length ] bi@ = ] [ f ] if [ drop ] [ [ members ] dip table>> length [ [ adjoin ] curry each ] keep ] if ; +PRIVATE> + +M: bit-set set-like + bit-set-like check-bit-set ; inline + M: bit-set clone table>> clone bit-set boa ;