[svn:parrot] r47337 - branches/gc_massacre/examples/benchmarks

bacek at svn.parrot.org bacek at svn.parrot.org
Thu Jun 3 12:07:35 UTC 2010


Author: bacek
Date: Thu Jun  3 12:07:35 2010
New Revision: 47337
URL: https://trac.parrot.org/parrot/changeset/47337

Log:
Add GC stress test for almost pure PMC allocator speed.

Added:
   branches/gc_massacre/examples/benchmarks/stress_integers.pir

Added: branches/gc_massacre/examples/benchmarks/stress_integers.pir
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/gc_massacre/examples/benchmarks/stress_integers.pir	Thu Jun  3 12:07:35 2010	(r47337)
@@ -0,0 +1,45 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+examples/benchmarks/stress_strings.pir - GC strings stress-testing
+
+=head1 SYNOPSIS
+
+    % time ./parrot examples/benchmarks/stress_strings.pir
+
+=head1 DESCRIPTION
+
+Create a lots of strings. Some of them are long-lived, most of them are short lived.
+
+Main purpose - test compact_pool performance.
+
+=cut
+
+.sub 'main' :main
+    .local pmc rsa # array of long lived strings.
+
+    .local int i
+
+    rsa = new ['ResizablePMCArray']
+    i = 0
+  loop:
+    $I0 = i % 10    # every 10th string is longlived
+    if $I0 goto inc_i
+    push rsa, i
+    $I0 = i % 1000
+    if $I0 goto inc_i
+    sweep 1
+  inc_i:
+    inc i
+    if i < 100000 goto loop
+
+.end
+
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:


More information about the parrot-commits mailing list