in reply to Re: CPAN Module to determing overlap of 2 lists?
in thread CPAN Module to determing overlap of 2 lists?

That works.

It feels a bit resource intensive given the repeated temporary strings created in the joins.

  • Comment on Re^2: CPAN Module to determing overlap of 2 lists?

Replies are listed 'Best First'.
Re^3: CPAN Module to determing overlap of 2 lists?
by kcott (Archbishop) on Aug 12, 2020 at 08:09 UTC

    I've generally found that Perl's functions that operate on strings (join, index, etc.) are typically very fast. You can compare with other solutions using Benchmark; you can profile to find hotspots (e.g. Devel::NYTProf).

    I can see a number of micro-optimisations you could make: replace $ref_len - 1 with $#$ref and replace 1 + $#$ref with $ref_len. That may gain you absolutely nothing but, I suppose, the code would be a little neater.

    You could do a single join. Then repeatedly chop the front off (index to locate JOIN then substr); again, that may gain you nothing but perhaps worth a try.

    I, and no doubt others, would be interested in the results if you do decide to benchmark this against your current "brute force solution", a regex solution, and anything else you may have come up with.

    — Ken

      Your approach has some similarities to my brute force approach, but is more optimistic.

      Maybe I will do some benchmarking