Skip to content

Instantly share code, notes, and snippets.

@Smerity
Created April 27, 2014 03:48
Show Gist options
  • Save Smerity/11337185 to your computer and use it in GitHub Desktop.
Save Smerity/11337185 to your computer and use it in GitHub Desktop.
Increasing PyPy's performance on Minilight by cProfile
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}
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}
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