File: zll_stress.py

package info (click to toggle)
pypy3 7.3.19%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 212,236 kB
  • sloc: python: 2,098,316; ansic: 540,565; sh: 21,462; asm: 14,419; cpp: 4,451; makefile: 4,209; objc: 761; xml: 530; exp: 499; javascript: 314; pascal: 244; lisp: 45; csh: 12; awk: 4
file content (32 lines) | stat: -rw-r--r-- 1,023 bytes parent folder | download | duplicates (2)
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
28
29
30
31
32
from __future__ import print_function

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'):
    if sys.platform == "darwin":
        total_iterations = 10
    else:
        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