diff --git a/EXPECTED b/EXPECTED index 6b7e18f..3f24105 100644 --- a/EXPECTED +++ b/EXPECTED @@ -1,11 +1,13 @@ * General + Startup times - For simple tests, many implementations suffer from slow startup times - - Niecza on mono suffers the most, with a very slow startup - - Rakudo on Parrot and Perlito* on JS follow with medium-high startup times - - Perlito* on perl5 is a bit faster with medium-low startup times - - NQP on Parrot has relatively quick startup times - - perl5 (native) has extremely fast startup times + . Niecza on mono suffers the most, with a very slow startup + . Rakudo on Parrot and Perlito* on JS follow with medium-high startup times + . Perlito* on perl5 is a bit faster with medium-low startup times + . NQP on Parrot has relatively quick startup times + . perl5 (native) has extremely fast startup times + - Use the '--ignore-startup' option to `analyze` to subtract startup times + so that pure compile and run time can be compared + Perl 6 v. NQP idioms - Many idioms have to be changed to translate Perl 6 code to NQP code - Because Rakudo can (mostly) compile both languages and Niecza can compile diff --git a/README b/README index a145fe1..99486d3 100644 --- a/README +++ b/README @@ -1,17 +1,18 @@ -perl6-bench: A tool to benchmark and compare Perl 6 implementations against perl5 +perl6-bench: A tool to benchmark and compare implementations of Perl family languages This is a VERY EARLY RELEASE, and represents concept-as-code. No attempt has been made to bulletproof the tool. Run as: - perl path/to/bench + ./timeall --outfile=times.json + ./analyze times.json You will need at least perl5 5.10.x, and you may need to have some extra -items in your PATH, such as a recent version of mono-sgen for Niecza and node -for perlito5.js. YMMV. +items in your PATH, such as a recent version of mono-sgen for Niecza and +node/d8 for Perlito*/JS. YMMV. Paths to the proper working directory for each compiler (usually the root directory of its Git checkout) can be set in the %COMPILERS hash at the top -of the bench script. The default directories are assumed to be parallel +of the timeall script. The default directories are assumed to be parallel checkouts at the same directory level as the perl6-bench checkout. For example, Perlito's directory is assumed to be ../Perlito/ relative to the bench directory. @@ -29,7 +30,8 @@ Compilers tested so far: perlito6.pl perlito6.js/d8 NQP - nqp (github perl6/nqp) + nqp (github perl6/nqp) rakudo + niecza (no pir:: or nqp:: support) Enjoy!