#!/usr/bin/perl -w use strict; use warnings; use Set::Object; use Memory::Usage; { package Foo; use Moose; __PACKAGE__->meta->make_immutable; 1; } my $mu = Memory::Usage->new; $mu->record('Start'); { my $set = Set::Object::Weak->new; $mu->record('After creating the set'); for my $outer (1..5){ for my $inner (1..10000){ my $obj = Foo->new; $set->insert($obj); $set->remove($obj); } $mu->record(join ' ', 'After doing', 10000*$outer, 'inserts and removes'); } } $mu->record('After destroying the set'); print $mu->report;