The PLB2 benchmark is a 4 program tasks done in different languages. PLB2 evaluates the performance of 25 programming languages on four CPU-intensive tasks and is a follow up initiative to PLB
N-Queens
Matmul
Sudoku
Bedcov
Meta project goal: get listed, become the new number one.
Programming has started. But..
We need your help
Because there is just so much time in a day and so many things to do.
We already have a solution in Meta, see the doc pages for that solution. The current solution makes use of the possibilities available in Meta and a smart approach. The algorithm should be the same as the one used by the other languages. So our smart approach that the current solution uses may not be 'allowed'. The Meta solution should be made up to standard: the second C algorithm from Rosetta code.
This is a matrix multiplication task.
The matrices to be multiplied are 1500x1500 big, consisting of floating point numbers (32 bit).
Our matrices can be built from arrays consisting of 9000000 BYTE! elements. These BYTE!s should be converted to and from floating point numbers, FLOATER32! type in Meta. I have some starting code lying around somewhere, maybe post an idea about fast converting too, but if you like you can figure this out too and start fresh!
The well known Sudoku game solver. Algorithm has yet to be built in Meta. The example kudoku algorithm can be a start.
What is this? That is what I asked myself a few times as well. From the PLB site, there it says:
finding the overlaps between two arrays of 1,000,000 intervals with implicit interval trees. The algorithm involves frequent array access in a pattern similar to binary searches.
All languages need at least a N-Queen and a Matmul implementation to enter the benchmark.
We want all four algorithms implemented if possible.
We have only one contestant to beat (in speed): FORTRAN.
So contact me if you like the challenge.