create Language::Befunge::Storage::Generic::Vec, and test it.
This is similar to Generic::AoA, except that it stores the data in a
large string buffer.
This module is more space-efficient than AoA.pm, especially for
larger numbers of dimensions, because it does not need to store any
tree structure. However, in pure-perl it is 30% slower than AoA.pm
(based on the execution time of the test scripts for each), mainly
because vec() operates on unsigned integer values, and therefore,
every low level operation has to go through a conversion routine to
adjust the signedness by hand.
LBSGVXS does not have this problem. This patch also includes support
for the accelerated LBSGVXS module (which I will release separately
on CPAN).
With LBSGVXS, LBSGV performs quite well (better than Generic::AoA and
2D::Sparse in many cases).