[pypy-svn] r75769 - in pypy/branch/interplevel-array/pypy: jit/tl module/array/test module/pypyjit
hakanardo at codespeak.net
hakanardo at codespeak.net
Fri Jul 2 16:27:53 CEST 2010
Author: hakanardo
Date: Fri Jul 2 16:27:51 2010
New Revision: 75769
Added:
pypy/branch/interplevel-array/pypy/module/array/test/Makefile
pypy/branch/interplevel-array/pypy/module/array/test/intimg.c
pypy/branch/interplevel-array/pypy/module/array/test/inttst.py
pypy/branch/interplevel-array/pypy/module/array/test/loop.c
pypy/branch/interplevel-array/pypy/module/array/test/tstintimg.c
Modified:
pypy/branch/interplevel-array/pypy/jit/tl/pypyjit.py
pypy/branch/interplevel-array/pypy/module/pypyjit/policy.py
Log:
enabling jit, performace tests
Modified: pypy/branch/interplevel-array/pypy/jit/tl/pypyjit.py
==============================================================================
--- pypy/branch/interplevel-array/pypy/jit/tl/pypyjit.py (original)
+++ pypy/branch/interplevel-array/pypy/jit/tl/pypyjit.py Fri Jul 2 16:27:51 2010
@@ -37,6 +37,7 @@
set_opt_level(config, level='jit')
config.objspace.allworkingmodules = False
config.objspace.usemodules.pypyjit = True
+config.objspace.usemodules.array = True
config.objspace.usemodules._weakref = False
config.objspace.usemodules._sre = False
set_pypy_opt_level(config, level='jit')
Added: pypy/branch/interplevel-array/pypy/module/array/test/Makefile
==============================================================================
--- (empty file)
+++ pypy/branch/interplevel-array/pypy/module/array/test/Makefile Fri Jul 2 16:27:51 2010
@@ -0,0 +1,6 @@
+CFLAGS=-O3 -mtune=native -march=native -std=gnu99
+
+tst: tstintimg.o intimg.o
+ gcc -o $@ $^
+loop: loop.o
+ gcc -o $@ $^
Added: pypy/branch/interplevel-array/pypy/module/array/test/intimg.c
==============================================================================
--- (empty file)
+++ pypy/branch/interplevel-array/pypy/module/array/test/intimg.c Fri Jul 2 16:27:51 2010
@@ -0,0 +1,18 @@
+void trans(unsigned char *img, unsigned int *intimg) {
+ int l=0;
+ for (int i=640; i<640*480; i++) {
+ l+=img[i];
+ intimg[i]=intimg[i-640]+l;
+ }
+}
+
+
+void transf(double *img, double *intimg) {
+ double l=0;
+ for (int i=640; i<640*480; i++) {
+ l+=img[i];
+ intimg[i]=intimg[i-640]+l;
+ }
+}
+
+
Added: pypy/branch/interplevel-array/pypy/module/array/test/inttst.py
==============================================================================
--- (empty file)
+++ pypy/branch/interplevel-array/pypy/module/array/test/inttst.py Fri Jul 2 16:27:51 2010
@@ -0,0 +1,19 @@
+#!/usr/bin/python
+from time import time
+
+from array import array
+#img=array('B',(0,)*640*480);
+#intimg=array('I',(0,)*640*480);
+img=array(640*480);
+intimg=array(640*480);
+
+def f():
+ l=0
+ for i in xrange(640,640*480):
+ l+=img[i]
+ intimg[i]=intimg[i-640]+l
+
+
+start=time()
+for l in range(500): f()
+print time()-start
Added: pypy/branch/interplevel-array/pypy/module/array/test/loop.c
==============================================================================
--- (empty file)
+++ pypy/branch/interplevel-array/pypy/module/array/test/loop.c Fri Jul 2 16:27:51 2010
@@ -0,0 +1,9 @@
+int main() {
+ double s =0.0;
+ double i =0.0;
+ while (i < 1000000000) {
+ s += i;
+ i += 1.0;
+ }
+ return s;
+}
Added: pypy/branch/interplevel-array/pypy/module/array/test/tstintimg.c
==============================================================================
--- (empty file)
+++ pypy/branch/interplevel-array/pypy/module/array/test/tstintimg.c Fri Jul 2 16:27:51 2010
@@ -0,0 +1,16 @@
+void trans(unsigned char *img, unsigned int *intimg);
+
+void main2() {
+ unsigned char img[640*480];
+ unsigned int intimg[640*480];
+
+ for (int l=0; l<500; l++) trans(img,intimg);
+}
+
+void transf(double *img, double *intimg);
+void main() {
+ double img[640*480];
+ double intimg[640*480];
+
+ for (int l=0; l<500; l++) transf(img,intimg);
+}
Modified: pypy/branch/interplevel-array/pypy/module/pypyjit/policy.py
==============================================================================
--- pypy/branch/interplevel-array/pypy/module/pypyjit/policy.py (original)
+++ pypy/branch/interplevel-array/pypy/module/pypyjit/policy.py Fri Jul 2 16:27:51 2010
@@ -11,7 +11,7 @@
if '.' in modname:
modname, _ = modname.split('.', 1)
if modname in ['pypyjit', 'signal', 'micronumpy', 'math', 'exceptions',
- 'imp', 'sys']:
+ 'imp', 'sys', 'array']:
return True
return False
More information about the Pypy-commit
mailing list