http://www.perlmonks.org?node_id=506534


in reply to Re^2: removing duplicate entries from an array
in thread removing duplicate entries from an array

Dirtier maybe, quicker not:

use strict; use warnings; use Benchmark qw(cmpthese); my @XYZ = qw(Mary Mary Mary Mary Joe Joe Joe); cmpthese ( -1, { 'GF' => sub {my %unique; @unique{@XYZ} = (); keys %unique;}, 'DW' => sub {keys %{{map {$_=>undef} @XYZ}};}, 'RJ' => sub {keys %{(grep \@{$_}{@XYZ}, {})[0]};}, } );

Benchmark results:

Rate DW RJ GF DW 71543/s -- -62% -73% RJ 188025/s 163% -- -28% GF 260808/s 265% 39% --

Updated to include Roy Johnson's "dirtier" version


Perl is Huffman encoded by design.

Replies are listed 'Best First'.
Re^4: removing duplicate entries from an array
by davidrw (Prior) on Nov 07, 2005 at 21:47 UTC
    good point... though depends on OP's definition of "quick & dirty" and if it's in reference to the coding or the actual execution... :)