From 0900934739d8194c42b967f5cb46f7a759c89187 Mon Sep 17 00:00:00 2001 From: Victor Baybekov Date: Sun, 10 Jan 2021 12:08:49 +0100 Subject: [PATCH] Set: optimize comparer: Set.Compare returns only [-1,0,1] --- src/fsharp/FSharp.Core/set.fs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fsharp/FSharp.Core/set.fs b/src/fsharp/FSharp.Core/set.fs index 26e17ba9845..7d1b85c1f89 100644 --- a/src/fsharp/FSharp.Core/set.fs +++ b/src/fsharp/FSharp.Core/set.fs @@ -531,7 +531,9 @@ module internal SetTree = else -1 else if isEmpty t2 then 1 - else compareStacks [t1] [t2] + else + let c = compareStacks [t1] [t2] + if c > 0 then 1 else if c = 0 then 0 else -1 let choose s = minimumElement s