From f3d07e2a61e0709efe289a636033d436cf2954ef Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 26 May 2014 03:01:19 -0400 Subject: avoid redoing unnecessary work --- bin/smt_fusion | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin/smt_fusion') diff --git a/bin/smt_fusion b/bin/smt_fusion index b4b6094..296cd01 100644 --- a/bin/smt_fusion +++ b/bin/smt_fusion @@ -83,9 +83,12 @@ sub party_fusion { sort { $a->level <=> $b->level } map { _demon($_) } keys %$seen ), "\n"; } +my $SEEN = {}; sub _party_fusion_recursive_fuse { my ($seen, $deathstones, @demons) = @_; + return $seen if $SEEN->{join(';', @demons)}++; + $seen->{$_} = 1 for map { $_->name } @demons; if (@demons > 1) { -- cgit v1.2.3