We have received the following grant application "RPerl Alioth Benchmarks, Part 2". Please leave feedback in the comments field by September 27th, 2015. If your comment does not appear in 24 hours, contact me at tpf-grants-secretary at perl-foundation.org. As we have four proposals on RPerl this time, please use RPerl User Documentation proposal if your comment is about RPerl in general and not specific to this proposal.
RPerl Alioth Benchmarks, Part 2
RPerl v1.1 has been released with a working N-body benchmark, as promised. Thanks to RPerl, we are now able to run N-body at the speed of C++, which was claimed by many in the Perl community to be impossible. This grant proposal is to create 2 additional Alioth benchmark applications.
Benefits to the Perl Community
Alioth is the premier language benchmarking website, and Perl is ranked at-or- near the bottom of several different benchmark applications.
Many members of the general public will be turned away from Perl adoption by the terrible ranking of Perl among other programming languages. The N-body benchmark is 1 step forward, now we need to take 2 more.
The Perl community will benefit by a dramatically more positive public language ranking, and (hopefully) an increase in new Perl users as a result.
Deliverables for this grant proposal are:
- Mandelbrot fractal benchmark application
- Any other Alioth benchmark application except regex-dna, as chosen by TPF
I've already written 1 of the Alioth benchmark applications, a solar system simulator called N-body, comprised of 3 main files:
https://github.com/wbraswell/physicsperl/blob/master/lib/PhysicsPerl/Astro/System.pm https://github.com/wbraswell/physicsperl/blob/master/lib/PhysicsPerl/Astro/Body.pm https://github.com/wbraswell/physicsperl/blob/master/script/nbody.perl-3.pl
Using the new RPerl optimizing compiler, we decrease the runtime from thousands of seconds to a mere 13 seconds, which achieves the much-coveted speed of C++, and reverses the fortunes of Perl all the way from the bottom of the ranking heap to the top, along with perennial fastest-languages C, C++, and Fortran.
I've already created an empty stub file for the Mandelbrot application: https://github.com/wbraswell/rperl/blob/master/lib/RPerl/Algorithm/Fractal/Mandelbrot.pm
Perl is currently un-ranked in the Mandelbrot Alioth category: http://benchmarksgame.alioth.debian.org/u32/performance.php?test=mandelbrot
In addition to Mandelbrot, I will implement 1 other Alioth benchmark application, to be chosen by TPF or delegated to the Perl community for a vote of some kind. The only exception is the regex-dna application, because RPerl does not currently support regular expressions, and the Perl regular expression engine is already a separate computational entity from the main Perl language.
1a. Copy file template contents into empty stub file
1b. Study existing Alioth Mandelbrot source code
1c. Create new RPerl code to implement Mandelbrot calculations
1d. Create new RPerl code to save and/or display Mandelbrot image
2a. Copy file template contents into as-yet-nonexistent stub file
2b. Study existing Alioth source code for chosen application
2c. Create new RPerl code to implement chosen application
2d. Create new RPerl code to save and/or output application data if necessary
I will begin work immediately upon granting.
I expect work to take approximately 30 to 60 days.
I will release a new version of RPerl to CPAN with support for the benchmarks.
I will release the benchmarks to CPAN, if not wholly contained with RPerl.
I am the creator and lead developer of RPerl.
I've spent the last 32 months working on RPerl without the support of TPF.
I would like that to change now.