File: zll_stress.py

package info (click to toggle)
pypy 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 107,216 kB
  • sloc: python: 1,201,787; ansic: 62,419; asm: 5,169; cpp: 3,017; sh: 2,534; makefile: 545; xml: 243; lisp: 45; awk: 4
file content (27 lines) | stat: -rw-r--r-- 906 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from rpython.jit.backend.test.test_random import check_random_function, Random
from rpython.jit.backend.test.test_ll_random import LLtypeOperationBuilder
from rpython.jit.backend.detect_cpu import getcpuclass
from rpython.jit.metainterp.resoperation import rop
import platform

CPU = getcpuclass()

total_iterations = 1000
if platform.machine().startswith('arm'):
    total_iterations = 100

pieces = 4
per_piece = total_iterations / pieces


def do_test_stress(piece):
    cpu = CPU(None, None)
    cpu.setup_once()
    r = Random()
    r.jumpahead(piece*99999999)
    OPERATIONS = LLtypeOperationBuilder.OPERATIONS[:]
    for i in range(piece*per_piece, (piece+1)*per_piece):
        print "        i = %d; r.setstate(%s)" % (i, r.getstate())
        check_random_function(cpu, LLtypeOperationBuilder, r, i, total_iterations)
    # restore the old list
    LLtypeOperationBuilder.OPERATIONS = OPERATIONS