The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Set::Product::XS - speed up Set::Product

SYNOPSIS

use Set::Product qw(product);

product { say "@_" } [1..10], ['A'..'E'], ['u'..'z'];

DESCRIPTION

The Set::Product::XS module provides a faster XS implementation for Set::Product. It will automatically be used, if available.

FUNCTIONS

product

product { BLOCK } \@array1, \@array2, ...

Evaluates BLOCK and sets @_ to each tuple in the cartesian product for the list of array references.

PERFORMANCE

This distribution contains a benchmarking script which compares several modules available on CPAN. These are the results on a MacBook 2.6GHz Core i5 (64-bit) with Perl 5.28:

Set::CrossProduct        29.7/s
List::MapMulti           34.5/s
Algorithm::Loops         92.5/s
Set::Scalar               126/s
Math::Cartesian::Product  237/s
Set::Product::PP          301/s
Math::Prime::Util         914/s
Set::Product::XS          932/s

SEE ALSO

Set::Product

REQUESTS AND BUGS

Please report any bugs or feature requests to https://rt.cpan.org/Public/Bug/Report.html?Queue=Set-Product-XS. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Set::Product::XS

You can also look for information at:

COPYRIGHT AND LICENSE

Copyright (C) 2015-2019 gray <gray at cpan.org>, all rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

gray, <gray at cpan.org>