Benchmark-Featureset-SetOps
view release on metacpan or search on metacpan
html/setops.report.html view on Meta::CPAN
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>Yes</td>
</tr>
<tr>
<td>132: unshift</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes. <<=</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>133: version</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>134: weak_pkg</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>135: weak_set</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>136: weaken</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Method</td>
<td>Array::AsObject</td>
<td>Object::Array</td>
<td>Set::Array</td>
<td>Set::Bag</td>
<td>Set::Light</td>
<td>Set::Object</td>
<td>Set::Scalar</td>
<td>Set::SortedArray</td>
<td>Set::Tiny</td>
<td>Set::Toolkit</td>
</tr>
</table>
<table align="center">
<tr><td>A cell containing 'Yes' means that module has a method of that name.</td></tr>
<tr><td>A token after 'Yes' is the overloaded operator defined in that module for that method.</td></tr>
</table>
<br />
<table align="center">
<tr><td>Just because 2 modules have a method with the same name does not mean the subs' behaviour is identical.</td></tr>
<tr><td>For instance, symmetric_difference() in Set::Tiny and Set::Scalar return different lists.</td></tr>
<tr><td>Not only that, but Set::Tiny's method returns a set, whereas Set::Scalar's returns a string.</td></tr>
<tr><td>Further, some methods in Set::Array change the invocant object, which is an apalling design feature.</td></tr>
<tr><td>Sample code ships as scripts/symmetric.demo.pl.</td></tr>
<tr><td>As always, RTFM!</td></tr>
</table>
<p align="center">In order to make life difficult:</p>
<table align="center">
<tr><td>Object::Array fiddles a list of method names copied from List::MoreUtils.</td></tr>
<tr><td>Set::Light has 2 aliases for exists: has and contains.</td></tr>
<tr><td>Set::Object and Set::Toolkit define some overloads via subs. These are ignored.</td></tr>
</table>
<hr />
<h3 class="global_toc_text">Modules excluded</h3>
<table align="center" border = "1" summary = "Names">
<tr>
<td>Name</td>
<td>Notes</td>
</tr>
( run in 0.759 second using v1.01-cache-2.11-cpan-39bf76dae61 )