[pypy-issue] Issue #1822: JIT compiles tons of bridges (pypy/pypy)

Remi Meier issues-reply at bitbucket.org
Tue Jul 22 16:41:54 CEST 2014


New issue 1822: JIT compiles tons of bridges
https://bitbucket.org/pypy/pypy/issue/1822/jit-compiles-tons-of-bridges

Remi Meier:

code from http://rosettacode.org/wiki/Perlin_noise#Python
see attached file

Nightly pypy (pypy-c-jit-72476-dbdcc057562b-linux64) is slower with jit than with "--jit off". Also, current STM builds don't have this problem.

**Look at number of bridges:**

JIT summary of PyPy-STM:
```
0# [46643b20651b8] {jit-summary
0# Tracing:      	29	0.078599
0# Backend:      	27	0.019512
0# TOTAL:      		0.456509
0# ops:             	50153
0# recorded ops:    	11775
0#   calls:         	885
0# guards:          	6755
0# opt ops:         	2654
0# opt guards:      	637
0# forcings:        	96
0# abort: trace too long:	2
0# abort: compiling:	0
0# abort: vable escape:	0
0# abort: bad loop: 	0
0# abort: force quasi-immut:	0
0# nvirtuals:       	4165
0# nvholes:         	614
0# nvreused:        	2888
0# Total # of loops:	10
0# Total # of bridges:	18
0# Freed # of loops:	0
0# Freed # of bridges:	0
0# [46643b20f1765] jit-summary}
```

JIT summary of pypy nightly:
```
[466341fc5ad18] {jit-summary
Tracing:      	921	4.593343
Backend:      	920	0.672270
TOTAL:      		9.669084
ops:             	6136322
recorded ops:    	1571845
  calls:         	56491
guards:          	196164
opt ops:         	397249
opt guards:      	57832
forcings:        	942
abort: trace too long:	1
abort: compiling:	0
abort: vable escape:	0
abort: bad loop: 	0
abort: force quasi-immut:	0
nvirtuals:       	1278724
nvholes:         	591642
nvreused:        	556151
Total # of loops:	19
Total # of bridges:	902
Freed # of loops:	0
Freed # of bridges:	0
[466341fcecc7b] jit-summary}

```




More information about the pypy-issue mailing list