diff options
author | Martin Czygan <martin.czygan@gmail.com> | 2021-07-01 01:25:27 +0200 |
---|---|---|
committer | Martin Czygan <martin.czygan@gmail.com> | 2021-07-01 01:25:33 +0200 |
commit | bd2dc54e9c56a260491acb5e77b4732563c58642 (patch) | |
tree | 6f1fde40f64b875b48161001558850218f409e0a /skate | |
parent | f9515d2ece7d930481f11ba94ce08b9bc63e9a90 (diff) | |
download | refcat-bd2dc54e9c56a260491acb5e77b4732563c58642.tar.gz refcat-bd2dc54e9c56a260491acb5e77b4732563c58642.zip |
more effecient deduplicateBrefs
Diffstat (limited to 'skate')
-rw-r--r-- | skate/zippy.go | 13 | ||||
-rw-r--r-- | skate/zippy_test.go | 2 |
2 files changed, 8 insertions, 7 deletions
diff --git a/skate/zippy.go b/skate/zippy.go index 59951e2..02d0428 100644 --- a/skate/zippy.go +++ b/skate/zippy.go @@ -408,19 +408,20 @@ func deduplicateBrefs(brefs []*BiblioRef) []*BiblioRef { } }) var ( - unique []*BiblioRef - seen = set.New() - // i int + seen = set.New() + i int ) for _, v := range brefs { if seen.Contains(v.Key) { continue } - unique = append(unique, v) + brefs[i] = v + i++ seen.Add(v.Key) } - log.Printf("trimmed brefs from %d to %d", len(brefs), len(unique)) - return unique + brefs = brefs[:i] + log.Printf("trimmed brefs from %d to %d", len(brefs), i) + return brefs } // matchedRefsExtend takes a set of (unique) biblioref docs and will emit that diff --git a/skate/zippy_test.go b/skate/zippy_test.go index 4c9ed32..2a48c9b 100644 --- a/skate/zippy_test.go +++ b/skate/zippy_test.go @@ -320,7 +320,7 @@ func TestDeduplicateBrefs(t *testing.T) { }, { brefs: []*BiblioRef{}, - result: nil, + result: []*BiblioRef{}, }, { brefs: []*BiblioRef{ |