Created
April 27, 2014 03:48
-
-
Save Smerity/11337185 to your computer and use it in GitHub Desktop.
Increasing PyPy's performance on Minilight by cProfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
smerity@pegasus:~/Coding/montelight/python$ time ~/Coding/Reference/pypy-2.2.1-linux64/bin/pypy -m cProfile minilight.py roomfront-n-1000.ml.txt | |
MiniLight 1.6 Python - http://www.hxa.name/minilight | |
iteration: 3^C | |
interrupted | |
1155613811 function calls (1062023566 primitive calls) in 89.591 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
9 0.000 0.000 0.000 0.000 _structseq.py:22(__get__) | |
1 0.000 0.000 0.000 0.000 camera.py:18(Camera) | |
1 0.000 0.000 0.000 0.000 camera.py:20(__init__) | |
3 0.458 0.153 87.914 29.305 camera.py:40(get_frame) | |
1 0.001 0.001 0.005 0.005 camera.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 image.py:17(Image) | |
1 0.002 0.002 0.002 0.002 image.py:19(__init__) | |
2 0.000 0.000 0.000 0.000 image.py:22(<lambda>) | |
359155 0.724 0.000 0.753 0.000 image.py:27(add_to_pixel) | |
2 0.502 0.251 1.176 0.588 image.py:34(get_formatted) | |
2 0.094 0.047 0.151 0.076 image.py:44(calculate_tone_mapping) | |
1 0.000 0.000 0.000 0.000 image.py:7(<module>) | |
1 0.004 0.004 89.591 89.591 minilight.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 random.py:12(Random) | |
1 0.000 0.000 0.000 0.000 random.py:20(__init__) | |
12485076 0.282 0.000 0.282 0.000 random.py:23(int32u) | |
6242538 1.472 0.000 1.754 0.000 random.py:34(real64) | |
1 0.000 0.000 0.000 0.000 random.py:9(<module>) | |
1 0.000 0.000 0.000 0.000 raytracer.py:11(RayResult) | |
1062180 0.045 0.000 0.045 0.000 raytracer.py:14(__init__) | |
1062180 0.264 0.000 0.354 0.000 raytracer.py:19(radiance) | |
1 0.000 0.000 0.000 0.000 raytracer.py:24(RayTracer) | |
3 0.000 0.000 0.000 0.000 raytracer.py:26(__init__) | |
1062183/359156 1.111 0.000 85.663 0.000 raytracer.py:59(get_radiance) | |
1 0.001 0.001 0.002 0.002 raytracer.py:7(<module>) | |
1029543 0.816 0.000 47.911 0.000 raytracer.py:78(sample_emitters) | |
3 0.000 0.000 0.003 0.001 re.py:188(compile) | |
3 0.000 0.000 0.003 0.001 re.py:226(_compile) | |
1 0.000 0.000 0.000 0.000 scene.py:17(Scene) | |
1 0.001 0.001 0.483 0.483 scene.py:19(__init__) | |
1029543 1.367 0.000 3.768 0.000 scene.py:41(get_emitter) | |
1029543 0.398 0.000 0.547 0.000 scene.py:48(emitters_count) | |
32639 0.128 0.000 0.139 0.000 scene.py:51(get_default_emission) | |
1 0.003 0.003 0.006 0.006 scene.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 spatialindex.py:13(SpatialIndex) | |
6326/1 0.191 0.000 0.299 0.299 spatialindex.py:15(__init__) | |
94972525/2091726 52.327 0.000 68.510 0.000 spatialindex.py:59(get_intersection) | |
1 0.001 0.001 0.003 0.003 spatialindex.py:7(<module>) | |
11 0.000 0.000 0.001 0.000 sre_compile.py:178(_compile_charset) | |
11 0.000 0.000 0.000 0.000 sre_compile.py:207(_optimize_charset) | |
6 0.000 0.000 0.000 0.000 sre_compile.py:24(_identityfunction) | |
30/3 0.000 0.000 0.001 0.000 sre_compile.py:32(_compile) | |
17 0.000 0.000 0.000 0.000 sre_compile.py:354(_simple) | |
3 0.000 0.000 0.001 0.000 sre_compile.py:361(_compile_info) | |
6 0.000 0.000 0.000 0.000 sre_compile.py:474(isstring) | |
3 0.000 0.000 0.002 0.001 sre_compile.py:480(_code) | |
3 0.000 0.000 0.003 0.001 sre_compile.py:495(compile) | |
74 0.000 0.000 0.000 0.000 sre_parse.py:132(__len__) | |
143 0.000 0.000 0.000 0.000 sre_parse.py:136(__getitem__) | |
17 0.000 0.000 0.000 0.000 sre_parse.py:140(__setitem__) | |
45 0.000 0.000 0.000 0.000 sre_parse.py:144(append) | |
47/20 0.000 0.000 0.000 0.000 sre_parse.py:146(getwidth) | |
3 0.000 0.000 0.000 0.000 sre_parse.py:184(__init__) | |
81 0.000 0.000 0.000 0.000 sre_parse.py:188(__next) | |
60 0.000 0.000 0.000 0.000 sre_parse.py:201(match) | |
68 0.000 0.000 0.000 0.000 sre_parse.py:207(get) | |
26 0.000 0.000 0.000 0.000 sre_parse.py:263(_escape) | |
13/3 0.000 0.000 0.001 0.000 sre_parse.py:307(_parse_sub) | |
13/3 0.000 0.000 0.001 0.000 sre_parse.py:385(_parse) | |
3 0.000 0.000 0.001 0.000 sre_parse.py:669(parse) | |
3 0.000 0.000 0.000 0.000 sre_parse.py:73(__init__) | |
10 0.000 0.000 0.000 0.000 sre_parse.py:78(opengroup) | |
10 0.000 0.000 0.000 0.000 sre_parse.py:89(closegroup) | |
30 0.000 0.000 0.000 0.000 sre_parse.py:96(__init__) | |
1 0.000 0.000 0.000 0.000 surfacepoint.py:11(SurfacePoint) | |
1377861 3.411 0.000 3.740 0.000 surfacepoint.py:13(__init__) | |
691280 0.537 0.000 0.925 0.000 surfacepoint.py:17(get_emission) | |
1029543 0.330 0.000 0.800 0.000 surfacepoint.py:26(get_reflection) | |
1029543 1.471 0.000 3.828 0.000 surfacepoint.py:32(get_next_direction) | |
1 0.002 0.002 0.002 0.002 surfacepoint.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 triangle.py:18(Triangle) | |
529 0.048 0.000 0.182 0.000 triangle.py:20(__init__) | |
528 0.061 0.000 0.070 0.000 triangle.py:37(get_bound) | |
36991724 4.685 0.000 4.685 0.000 triangle.py:48(get_intersection) | |
1 0.000 0.000 0.002 0.002 triangle.py:7(<module>) | |
1029543 0.497 0.000 1.364 0.000 triangle.py:77(get_sample_point) | |
1 0.000 0.000 0.000 0.000 vector3f.py:10(Vector3f) | |
92140721 0.866 0.000 0.866 0.000 vector3f.py:12(__init__) | |
6952300 0.343 0.000 0.343 0.000 vector3f.py:15(__iter__) | |
781231263 9.466 0.000 9.466 0.000 vector3f.py:20(__getitem__) | |
2783633 0.124 0.000 0.158 0.000 vector3f.py:28(__neg__) | |
40294194 0.917 0.000 1.275 0.000 vector3f.py:31(__add__) | |
1722408 0.071 0.000 0.097 0.000 vector3f.py:34(__sub__) | |
43570301 2.523 0.000 2.915 0.000 vector3f.py:37(__mul__) | |
2059614 0.098 0.000 0.098 0.000 vector3f.py:51(is_zero) | |
5466344 0.169 0.000 0.169 0.000 vector3f.py:54(dot) | |
1389758 0.404 0.000 0.658 0.000 vector3f.py:57(unitize) | |
704085 0.234 0.000 0.246 0.000 vector3f.py:63(cross) | |
1059 0.004 0.000 0.008 0.000 vector3f.py:68(clamped) | |
1 0.000 0.000 0.000 0.000 vector3f.py:7(<module>) | |
5812 0.015 0.000 0.085 0.000 vector3f.py:73(from_string) | |
5812 0.059 0.000 0.067 0.000 vector3f.py:75(<lambda>) | |
3 0.000 0.000 0.000 0.000 {__pypy__.newdict} | |
594738 0.080 0.000 0.080 0.000 {abs} | |
874800 0.090 0.000 0.090 0.000 {chr} | |
152 0.000 0.000 0.000 0.000 {isinstance} | |
4148849/4148829 0.576 0.000 0.576 0.000 {len} | |
703027 0.267 0.000 0.267 0.000 {math.cos} | |
291600 0.050 0.000 0.050 0.000 {math.log10} | |
703027 0.239 0.000 0.239 0.000 {math.sin} | |
3825883 0.631 0.000 0.631 0.000 {math.sqrt} | |
359156 0.246 0.000 0.246 0.000 {math.tan} | |
351499 0.119 0.000 0.119 0.000 {max} | |
107492 0.028 0.000 0.028 0.000 {method 'append' of 'list' objects} | |
3 0.000 0.000 0.000 0.000 {method 'close' of 'file' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
3 0.000 0.000 0.000 0.000 {method 'flush' of 'file' objects} | |
47 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} | |
530 0.001 0.000 0.001 0.000 {method 'groups' of 'SRE_Match' objects} | |
539 0.000 0.000 0.000 0.000 {method 'isspace' of 'str' objects} | |
3 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects} | |
5812 0.003 0.000 0.003 0.000 {method 'lstrip' of 'str' objects} | |
1 0.000 0.000 0.000 0.000 {method 'next' of 'file' objects} | |
10 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} | |
5812 0.002 0.000 0.002 0.000 {method 'rstrip' of 'str' objects} | |
530 0.029 0.000 0.029 0.000 {method 'search' of 'SRE_Pattern' objects} | |
5814 0.003 0.000 0.003 0.000 {method 'split' of 'str' objects} | |
1 0.000 0.000 0.000 0.000 {method 'strip' of 'str' objects} | |
874805 0.277 0.000 0.277 0.000 {method 'write' of 'file' objects} | |
1907583 0.420 0.000 0.420 0.000 {min} | |
18 0.000 0.000 0.000 0.000 {ord} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
smerity@pegasus:~/Coding/montelight/python$ time ~/Coding/Reference/pypy-2.2.1-linux64/bin/pypy -m cProfile minilight.py roomfront-n-1000.ml.txt | |
MiniLight 1.6 Python - http://www.hxa.name/minilight | |
iteration: 2^C | |
interrupted | |
896232448 function calls (826525107 primitive calls) in 89.524 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
9 0.000 0.000 0.000 0.000 _structseq.py:22(__get__) | |
1 0.000 0.000 0.000 0.000 camera.py:18(Camera) | |
1 0.000 0.000 0.000 0.000 camera.py:20(__init__) | |
2 0.514 0.257 88.135 44.067 camera.py:40(get_frame) | |
1 0.000 0.000 0.005 0.005 camera.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 image.py:17(Image) | |
1 0.003 0.003 0.003 0.003 image.py:19(__init__) | |
2 0.000 0.000 0.000 0.000 image.py:22(<lambda>) | |
267366 0.748 0.000 0.781 0.000 image.py:27(add_to_pixel) | |
1 0.356 0.356 0.900 0.900 image.py:34(get_formatted) | |
1 0.117 0.117 0.173 0.173 image.py:44(calculate_tone_mapping) | |
1 0.000 0.000 0.000 0.000 image.py:7(<module>) | |
1 0.004 0.004 89.524 89.524 minilight.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 random.py:12(Random) | |
1 0.000 0.000 0.000 0.000 random.py:20(__init__) | |
9300780 0.232 0.000 0.232 0.000 random.py:23(int32u) | |
4650390 1.309 0.000 1.541 0.000 random.py:34(real64) | |
1 0.000 0.000 0.000 0.000 random.py:9(<module>) | |
1 0.000 0.000 0.000 0.000 raytracer.py:11(RayResult) | |
794238 0.031 0.000 0.031 0.000 raytracer.py:14(__init__) | |
794238 0.185 0.000 0.265 0.000 raytracer.py:19(radiance) | |
1 0.000 0.000 0.000 0.000 raytracer.py:24(RayTracer) | |
2 0.000 0.000 0.000 0.000 raytracer.py:26(__init__) | |
794241/267367 0.918 0.000 85.779 0.000 raytracer.py:59(get_radiance) | |
1 0.000 0.000 0.001 0.001 raytracer.py:7(<module>) | |
765477 0.764 0.000 50.278 0.000 raytracer.py:80(sample_emitters) | |
3 0.000 0.000 0.005 0.002 re.py:188(compile) | |
3 0.000 0.000 0.005 0.002 re.py:226(_compile) | |
1 0.000 0.000 0.000 0.000 scene.py:17(Scene) | |
1 0.002 0.002 0.475 0.475 scene.py:19(__init__) | |
765477 1.036 0.000 3.099 0.000 scene.py:41(get_emitter) | |
765477 0.280 0.000 0.402 0.000 scene.py:48(emitters_count) | |
28763 0.027 0.000 0.040 0.000 scene.py:51(get_default_emission) | |
1 0.000 0.000 0.002 0.002 scene.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 spatialindex.py:13(SpatialIndex) | |
6326/1 0.191 0.000 0.296 0.296 spatialindex.py:15(__init__) | |
70733766/1559718 53.244 0.000 71.403 0.000 spatialindex.py:59(get_intersection) | |
1 0.000 0.000 0.001 0.001 spatialindex.py:7(<module>) | |
11 0.000 0.000 0.001 0.000 sre_compile.py:178(_compile_charset) | |
11 0.000 0.000 0.000 0.000 sre_compile.py:207(_optimize_charset) | |
6 0.000 0.000 0.000 0.000 sre_compile.py:24(_identityfunction) | |
30/3 0.001 0.000 0.001 0.000 sre_compile.py:32(_compile) | |
17 0.000 0.000 0.000 0.000 sre_compile.py:354(_simple) | |
3 0.000 0.000 0.001 0.000 sre_compile.py:361(_compile_info) | |
6 0.000 0.000 0.000 0.000 sre_compile.py:474(isstring) | |
3 0.000 0.000 0.003 0.001 sre_compile.py:480(_code) | |
3 0.000 0.000 0.005 0.002 sre_compile.py:495(compile) | |
74 0.000 0.000 0.000 0.000 sre_parse.py:132(__len__) | |
143 0.000 0.000 0.001 0.000 sre_parse.py:136(__getitem__) | |
17 0.000 0.000 0.000 0.000 sre_parse.py:140(__setitem__) | |
45 0.000 0.000 0.000 0.000 sre_parse.py:144(append) | |
47/20 0.001 0.000 0.001 0.000 sre_parse.py:146(getwidth) | |
3 0.000 0.000 0.000 0.000 sre_parse.py:184(__init__) | |
81 0.000 0.000 0.000 0.000 sre_parse.py:188(__next) | |
60 0.000 0.000 0.000 0.000 sre_parse.py:201(match) | |
68 0.000 0.000 0.001 0.000 sre_parse.py:207(get) | |
26 0.000 0.000 0.000 0.000 sre_parse.py:263(_escape) | |
13/3 0.000 0.000 0.002 0.001 sre_parse.py:307(_parse_sub) | |
13/3 0.001 0.000 0.002 0.001 sre_parse.py:385(_parse) | |
3 0.000 0.000 0.003 0.001 sre_parse.py:669(parse) | |
3 0.000 0.000 0.000 0.000 sre_parse.py:73(__init__) | |
10 0.000 0.000 0.000 0.000 sre_parse.py:78(opengroup) | |
10 0.000 0.000 0.000 0.000 sre_parse.py:89(closegroup) | |
30 0.000 0.000 0.000 0.000 sre_parse.py:96(__init__) | |
1 0.000 0.000 0.000 0.000 surfacepoint.py:11(SurfacePoint) | |
1021594 2.755 0.000 2.970 0.000 surfacepoint.py:13(__init__) | |
507290 0.455 0.000 0.832 0.000 surfacepoint.py:17(get_emission) | |
765477 0.265 0.000 0.653 0.000 surfacepoint.py:26(get_reflection) | |
765477 1.265 0.000 3.287 0.000 surfacepoint.py:32(get_next_direction) | |
1 0.000 0.000 0.001 0.001 surfacepoint.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 triangle.py:18(Triangle) | |
529 0.047 0.000 0.177 0.000 triangle.py:20(__init__) | |
528 0.059 0.000 0.068 0.000 triangle.py:37(get_bound) | |
27513518 4.352 0.000 4.352 0.000 triangle.py:48(get_intersection) | |
1 0.000 0.000 0.001 0.001 triangle.py:7(<module>) | |
765477 0.426 0.000 1.179 0.000 triangle.py:77(get_sample_point) | |
1 0.000 0.000 0.000 0.000 vector3f.py:10(Vector3f) | |
68885589 0.717 0.000 0.717 0.000 vector3f.py:12(__init__) | |
5160076 0.233 0.000 0.233 0.000 vector3f.py:30(__iter__) | |
580549321 7.536 0.000 7.536 0.000 vector3f.py:35(__getitem__) | |
2067526 0.114 0.000 0.143 0.000 vector3f.py:43(__neg__) | |
30049832 0.806 0.000 1.085 0.000 vector3f.py:46(__add__) | |
1274352 0.077 0.000 0.097 0.000 vector3f.py:49(__sub__) | |
32223036 2.210 0.000 2.524 0.000 vector3f.py:52(__mul__) | |
267366 0.037 0.000 0.049 0.000 vector3f.py:59(__div__) | |
1531482 0.080 0.000 0.080 0.000 vector3f.py:66(is_zero) | |
3984213 0.165 0.000 0.165 0.000 vector3f.py:69(dot) | |
1 0.000 0.000 0.000 0.000 vector3f.py:7(<module>) | |
1033903 0.568 0.000 0.768 0.000 vector3f.py:72(unitize) | |
527932 0.191 0.000 0.204 0.000 vector3f.py:78(cross) | |
1059 0.004 0.000 0.008 0.000 vector3f.py:83(clamped) | |
5812 0.015 0.000 0.079 0.000 vector3f.py:88(from_string) | |
5812 0.054 0.000 0.061 0.000 vector3f.py:90(<lambda>) | |
3 0.000 0.000 0.000 0.000 {__pypy__.newdict} | |
444290 0.062 0.000 0.062 0.000 {abs} | |
437400 0.051 0.000 0.051 0.000 {chr} | |
152 0.000 0.000 0.000 0.000 {isinstance} | |
3092583/3092563 0.430 0.000 0.430 0.000 {len} | |
526874 0.228 0.000 0.228 0.000 {math.cos} | |
145800 0.049 0.000 0.049 0.000 {math.log10} | |
526874 0.210 0.000 0.210 0.000 {math.sin} | |
2853656 0.514 0.000 0.514 0.000 {math.sqrt} | |
267367 0.223 0.000 0.223 0.000 {math.tan} | |
259298 0.113 0.000 0.113 0.000 {max} | |
107492 0.027 0.000 0.027 0.000 {method 'append' of 'list' objects} | |
2 0.000 0.000 0.000 0.000 {method 'close' of 'file' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
2 0.000 0.000 0.000 0.000 {method 'flush' of 'file' objects} | |
47 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} | |
530 0.001 0.000 0.001 0.000 {method 'groups' of 'SRE_Match' objects} | |
539 0.000 0.000 0.000 0.000 {method 'isspace' of 'str' objects} | |
3 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects} | |
5812 0.003 0.000 0.003 0.000 {method 'lstrip' of 'str' objects} | |
1 0.000 0.000 0.000 0.000 {method 'next' of 'file' objects} | |
10 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} | |
5812 0.002 0.000 0.002 0.000 {method 'rstrip' of 'str' objects} | |
530 0.032 0.000 0.032 0.000 {method 'search' of 'SRE_Pattern' objects} | |
5814 0.003 0.000 0.003 0.000 {method 'split' of 'str' objects} | |
1 0.000 0.000 0.000 0.000 {method 'strip' of 'str' objects} | |
437403 0.218 0.000 0.218 0.000 {method 'write' of 'file' objects} | |
1206117 0.355 0.000 0.355 0.000 {min} | |
18 0.000 0.000 0.000 0.000 {ord} | |
37333494 4.605 0.000 4.605 0.000 {range} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
smerity@pegasus:~/Coding/montelight/python$ time ~/Coding/Reference/pypy-2.2.1-linux64/bin/pypy -m cProfile minilight.py roomfront-n-1000.ml.txt | |
MiniLight 1.6 Python - http://www.hxa.name/minilight | |
iteration: 2^C | |
interrupted | |
605484795 function calls (565059691 primitive calls) in 86.985 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
9 0.000 0.000 0.000 0.000 _structseq.py:22(__get__) | |
1 0.000 0.000 0.000 0.000 camera.py:18(Camera) | |
1 0.000 0.000 0.000 0.000 camera.py:20(__init__) | |
2 0.407 0.203 85.667 42.833 camera.py:40(get_frame) | |
1 0.001 0.001 0.011 0.011 camera.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 image.py:17(Image) | |
1 0.004 0.004 0.004 0.004 image.py:19(__init__) | |
2 0.000 0.000 0.000 0.000 image.py:22(<lambda>) | |
151889 1.833 0.000 1.852 0.000 image.py:27(add_to_pixel) | |
1 0.307 0.307 0.779 0.779 image.py:34(get_formatted) | |
1 0.065 0.065 0.175 0.175 image.py:44(calculate_tone_mapping) | |
1 0.000 0.000 0.000 0.000 image.py:7(<module>) | |
1 0.005 0.005 86.985 86.985 minilight.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 random.py:12(Random) | |
1 0.000 0.000 0.000 0.000 random.py:20(__init__) | |
5405862 0.175 0.000 0.175 0.000 random.py:23(int32u) | |
2702931 0.871 0.000 1.046 0.000 random.py:34(real64) | |
1 0.000 0.000 0.000 0.000 random.py:9(<module>) | |
1 0.000 0.000 0.000 0.000 raytracer.py:11(RayResult) | |
460708 0.037 0.000 0.037 0.000 raytracer.py:14(__init__) | |
460708 0.085 0.000 0.785 0.000 raytracer.py:19(radiance) | |
1 0.000 0.000 0.000 0.000 raytracer.py:24(RayTracer) | |
2 0.000 0.000 0.000 0.000 raytracer.py:26(__init__) | |
460710/151890 0.822 0.000 81.527 0.001 raytracer.py:59(get_radiance) | |
1 0.002 0.002 0.006 0.006 raytracer.py:7(<module>) | |
445378 0.585 0.000 51.763 0.000 raytracer.py:80(sample_emitters) | |
3 0.000 0.000 0.006 0.002 re.py:188(compile) | |
3 0.000 0.000 0.006 0.002 re.py:226(_compile) | |
1 0.000 0.000 0.000 0.000 scene.py:17(Scene) | |
1 0.002 0.002 0.513 0.513 scene.py:19(__init__) | |
445378 0.572 0.000 3.416 0.000 scene.py:41(get_emitter) | |
445377 0.150 0.000 0.239 0.000 scene.py:48(emitters_count) | |
15332 0.130 0.000 0.156 0.000 scene.py:51(get_default_emission) | |
1 0.002 0.002 0.006 0.006 scene.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 spatialindex.py:13(SpatialIndex) | |
6326/1 0.212 0.000 0.323 0.323 spatialindex.py:15(__init__) | |
41015953/906088 36.742 0.000 67.313 0.000 spatialindex.py:59(get_intersection) | |
1 0.002 0.002 0.003 0.003 spatialindex.py:7(<module>) | |
11 0.000 0.000 0.000 0.000 sre_compile.py:178(_compile_charset) | |
11 0.000 0.000 0.000 0.000 sre_compile.py:207(_optimize_charset) | |
6 0.000 0.000 0.000 0.000 sre_compile.py:24(_identityfunction) | |
30/3 0.000 0.000 0.001 0.000 sre_compile.py:32(_compile) | |
17 0.000 0.000 0.000 0.000 sre_compile.py:354(_simple) | |
3 0.000 0.000 0.001 0.000 sre_compile.py:361(_compile_info) | |
6 0.000 0.000 0.000 0.000 sre_compile.py:474(isstring) | |
3 0.000 0.000 0.002 0.001 sre_compile.py:480(_code) | |
3 0.000 0.000 0.006 0.002 sre_compile.py:495(compile) | |
74 0.000 0.000 0.000 0.000 sre_parse.py:132(__len__) | |
143 0.000 0.000 0.000 0.000 sre_parse.py:136(__getitem__) | |
17 0.000 0.000 0.000 0.000 sre_parse.py:140(__setitem__) | |
45 0.000 0.000 0.000 0.000 sre_parse.py:144(append) | |
47/20 0.000 0.000 0.000 0.000 sre_parse.py:146(getwidth) | |
3 0.000 0.000 0.000 0.000 sre_parse.py:184(__init__) | |
81 0.000 0.000 0.000 0.000 sre_parse.py:188(__next) | |
60 0.000 0.000 0.000 0.000 sre_parse.py:201(match) | |
68 0.000 0.000 0.000 0.000 sre_parse.py:207(get) | |
26 0.000 0.000 0.000 0.000 sre_parse.py:263(_escape) | |
13/3 0.000 0.000 0.002 0.001 sre_parse.py:307(_parse_sub) | |
13/3 0.000 0.000 0.002 0.001 sre_parse.py:385(_parse) | |
3 0.000 0.000 0.004 0.001 sre_parse.py:669(parse) | |
3 0.000 0.000 0.003 0.001 sre_parse.py:73(__init__) | |
10 0.000 0.000 0.000 0.000 sre_parse.py:78(opengroup) | |
10 0.000 0.000 0.000 0.000 sre_parse.py:89(closegroup) | |
30 0.000 0.000 0.000 0.000 sre_parse.py:96(__init__) | |
1 0.000 0.000 0.000 0.000 surfacepoint.py:11(SurfacePoint) | |
600866 0.065 0.000 0.382 0.000 surfacepoint.py:13(__init__) | |
299282 0.277 0.000 0.866 0.000 surfacepoint.py:17(get_emission) | |
445377 0.204 0.000 0.766 0.000 surfacepoint.py:26(get_reflection) | |
445377 0.844 0.000 3.508 0.000 surfacepoint.py:32(get_next_direction) | |
1 0.004 0.004 0.004 0.004 surfacepoint.py:7(<module>) | |
1 0.000 0.000 0.000 0.000 triangle.py:18(Triangle) | |
529 0.051 0.000 0.188 0.000 triangle.py:20(__init__) | |
528 0.059 0.000 0.068 0.000 triangle.py:37(get_bound) | |
15762213 2.625 0.000 2.625 0.000 triangle.py:48(get_intersection) | |
1 0.000 0.000 0.001 0.001 triangle.py:7(<module>) | |
445378 0.482 0.000 2.249 0.000 triangle.py:77(get_sample_point) | |
40725840 13.731 0.000 22.415 0.000 vector3f.py:11(__init__) | |
611792 0.020 0.000 0.020 0.000 vector3f.py:24(__iter__) | |
341376722 4.819 0.000 4.819 0.000 vector3f.py:29(__getitem__) | |
1205638 0.376 0.000 1.054 0.000 vector3f.py:37(__neg__) | |
17771452 1.399 0.000 11.350 0.000 vector3f.py:40(__add__) | |
746245 0.063 0.000 0.600 0.000 vector3f.py:43(__sub__) | |
19036974 4.562 0.000 14.445 0.000 vector3f.py:46(__mul__) | |
151889 0.101 0.000 0.231 0.000 vector3f.py:53(__div__) | |
891283 0.073 0.000 0.073 0.000 vector3f.py:60(is_zero) | |
2389843 0.105 0.000 0.105 0.000 vector3f.py:63(dot) | |
598327 0.449 0.000 0.971 0.000 vector3f.py:66(unitize) | |
1 0.000 0.000 0.000 0.000 vector3f.py:7(<module>) | |
309878 0.144 0.000 0.368 0.000 vector3f.py:72(cross) | |
1059 0.004 0.000 0.010 0.000 vector3f.py:77(clamped) | |
1 0.000 0.000 0.000 0.000 vector3f.py:9(Vector3f) | |
3 0.003 0.001 0.003 0.001 {__pypy__.newdict} | |
252673 0.048 0.000 0.048 0.000 {abs} | |
437400 0.044 0.000 0.044 0.000 {chr} | |
152 0.000 0.000 0.000 0.000 {isinstance} | |
82657188/82657168 8.962 0.000 8.962 0.000 {len} | |
308820 0.156 0.000 0.156 0.000 {math.cos} | |
145800 0.032 0.000 0.032 0.000 {math.log10} | |
308820 0.160 0.000 0.160 0.000 {math.sin} | |
1661873 0.353 0.000 0.353 0.000 {math.sqrt} | |
151890 0.146 0.000 0.146 0.000 {math.tan} | |
158669 0.075 0.000 0.075 0.000 {max} | |
107492 0.029 0.000 0.029 0.000 {method 'append' of 'list' objects} | |
2 0.000 0.000 0.000 0.000 {method 'close' of 'file' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
2 0.000 0.000 0.000 0.000 {method 'flush' of 'file' objects} | |
47 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} | |
530 0.001 0.000 0.001 0.000 {method 'groups' of 'SRE_Match' objects} | |
539 0.000 0.000 0.000 0.000 {method 'isspace' of 'str' objects} | |
3 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects} | |
5812 0.003 0.000 0.003 0.000 {method 'lstrip' of 'str' objects} | |
1 0.000 0.000 0.000 0.000 {method 'next' of 'file' objects} | |
10 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} | |
5812 0.003 0.000 0.003 0.000 {method 'rstrip' of 'str' objects} | |
530 0.031 0.000 0.031 0.000 {method 'search' of 'SRE_Pattern' objects} | |
5814 0.004 0.000 0.004 0.000 {method 'split' of 'str' objects} | |
1 0.000 0.000 0.000 0.000 {method 'strip' of 'str' objects} | |
437403 0.162 0.000 0.162 0.000 {method 'write' of 'file' objects} | |
886018 0.272 0.000 0.272 0.000 {min} | |
18 0.000 0.000 0.000 0.000 {ord} | |
22117645 3.035 0.000 3.035 0.000 {range} | |
real 1m27.179s | |
user 1m26.465s | |
sys 0m0.268s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment