Created
April 8, 2012 18:13
-
-
Save rubik/2338886 to your computer and use it in GitHub Desktop.
Kivy multistroke recognition profiles (with 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
1964 function calls in 0.024 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 0.024 0.024 <string>:1(<module>) | |
2 0.000 0.000 0.000 0.000 clock.py:121(_hash) | |
2 0.000 0.000 0.000 0.000 clock.py:135(__init__) | |
1 0.000 0.000 0.000 0.000 clock.py:159(get_callback) | |
1 0.000 0.000 0.000 0.000 clock.py:178(release) | |
3 0.000 0.000 0.010 0.003 clock.py:182(tick) | |
1 0.000 0.000 0.024 0.024 clock.py:250(tick) | |
1 0.000 0.000 0.000 0.000 clock.py:307(get_time) | |
2 0.000 0.000 0.000 0.000 clock.py:326(schedule_once) | |
1 0.000 0.000 0.000 0.000 clock.py:373(_release_references) | |
1 0.000 0.000 0.010 0.010 clock.py:387(_process_events) | |
8 0.000 0.000 0.000 0.000 multistroke.py:1065(_get_db_key) | |
6 0.000 0.000 0.000 0.000 multistroke.py:1071(get_start_unit_vector) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1074(get_vector) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1147(__init__) | |
8 0.000 0.000 0.004 0.000 multistroke.py:1169(_get_db_key) | |
6 0.000 0.000 0.004 0.001 multistroke.py:1177(get_start_unit_vector) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1184(get_protractor_vector) | |
6 0.000 0.000 0.004 0.001 multistroke.py:1192(get_angle_similarity) | |
1 0.000 0.000 0.004 0.004 multistroke.py:1201(prepare) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1249(combine_strokes) | |
1 0.001 0.001 0.002 0.002 multistroke.py:1254(resample) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1290(indicative_angle) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1295(rotate_by) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1310(scale_dim) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1329(translate_to) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1340(vectorize) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1367(optimal_cosine_distance) | |
5 0.000 0.000 0.000 0.000 multistroke.py:1424(centroid) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1438(bounding_box) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1464(path_length) | |
94 0.001 0.000 0.001 0.000 multistroke.py:1471(distance) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1477(start_unit_vector) | |
6 0.000 0.000 0.000 0.000 multistroke.py:1483(angle_between_unit_vectors) | |
103 0.000 0.000 0.000 0.000 multistroke.py:187(__init__) | |
1 0.000 0.000 0.000 0.000 multistroke.py:231(filter) | |
1 0.000 0.000 0.001 0.001 multistroke.py:435(recognize) | |
1 0.000 0.000 0.010 0.010 multistroke.py:512(_recognize_tick) | |
11 0.000 0.000 0.000 0.000 multistroke.py:517(_criteria) | |
1 0.000 0.000 0.000 0.000 multistroke.py:573(_candidate) | |
1 0.000 0.000 0.000 0.000 multistroke.py:601(_get_priority) | |
3 0.000 0.000 0.000 0.000 multistroke.py:610(_get_list) | |
1 0.000 0.000 0.000 0.000 multistroke.py:619(on_search_start) | |
1 0.000 0.000 0.000 0.000 multistroke.py:665(__init__) | |
2 0.000 0.000 0.000 0.000 multistroke.py:712(_add_result) | |
2 0.000 0.000 0.000 0.000 multistroke.py:728(score_distance) | |
10 0.000 0.000 0.000 0.000 multistroke.py:742(on_progress) | |
2 0.000 0.000 0.000 0.000 multistroke.py:745(on_result) | |
6 0.000 0.000 0.000 0.000 multistroke.py:843(angle_similarity_threshold) | |
2 0.000 0.000 0.000 0.000 multistroke.py:864(get_distance) | |
10 0.003 0.000 0.009 0.001 multistroke.py:885(match_candidate) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:22(__init__) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:38(__call__) | |
2 0.000 0.000 0.000 0.000 weakmethod.py:53(is_dead) | |
7 0.000 0.000 0.000 0.000 {isinstance} | |
1197 0.002 0.000 0.002 0.000 {len} | |
8 0.000 0.000 0.000 0.000 {math.acos} | |
2 0.000 0.000 0.000 0.000 {math.atan2} | |
2 0.000 0.000 0.000 0.000 {math.atan} | |
5 0.000 0.000 0.000 0.000 {math.cos} | |
1 0.000 0.000 0.000 0.000 {math.floor} | |
6 0.000 0.000 0.000 0.000 {math.radians} | |
5 0.000 0.000 0.000 0.000 {math.sin} | |
98 0.000 0.000 0.000 0.000 {math.sqrt} | |
52 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects} | |
161 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
13 0.000 0.000 0.000 0.000 {method 'dispatch' of 'kivy._event.EventDispatcher' objects} | |
21 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} | |
14 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects} | |
2 0.000 0.000 0.000 0.000 {method 'keys' of 'dict' objects} | |
10 0.000 0.000 0.000 0.000 {method 'popleft' of 'collections.deque' objects} | |
3 0.000 0.000 0.000 0.000 {method 'register_event_type' of 'kivy._event.EventDispatcher' objects} | |
1 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {min} | |
12 0.000 0.000 0.000 0.000 {range} | |
1 0.013 0.013 0.013 0.013 {time.sleep} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
2026 function calls in 0.027 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 0.027 0.027 <string>:1(<module>) | |
2 0.000 0.000 0.000 0.000 clock.py:121(_hash) | |
2 0.000 0.000 0.000 0.000 clock.py:135(__init__) | |
1 0.000 0.000 0.000 0.000 clock.py:159(get_callback) | |
1 0.000 0.000 0.000 0.000 clock.py:178(release) | |
3 0.000 0.000 0.010 0.003 clock.py:182(tick) | |
1 0.000 0.000 0.026 0.026 clock.py:250(tick) | |
1 0.000 0.000 0.000 0.000 clock.py:307(get_time) | |
2 0.000 0.000 0.000 0.000 clock.py:326(schedule_once) | |
1 0.000 0.000 0.000 0.000 clock.py:373(_release_references) | |
1 0.000 0.000 0.010 0.010 clock.py:387(_process_events) | |
9 0.000 0.000 0.000 0.000 multistroke.py:1065(_get_db_key) | |
6 0.000 0.000 0.000 0.000 multistroke.py:1071(get_start_unit_vector) | |
3 0.000 0.000 0.000 0.000 multistroke.py:1074(get_vector) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1147(__init__) | |
9 0.000 0.000 0.004 0.000 multistroke.py:1169(_get_db_key) | |
6 0.000 0.000 0.004 0.001 multistroke.py:1177(get_start_unit_vector) | |
3 0.000 0.000 0.000 0.000 multistroke.py:1184(get_protractor_vector) | |
6 0.000 0.000 0.004 0.001 multistroke.py:1192(get_angle_similarity) | |
1 0.000 0.000 0.004 0.004 multistroke.py:1201(prepare) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1249(combine_strokes) | |
1 0.001 0.001 0.002 0.002 multistroke.py:1254(resample) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1290(indicative_angle) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1295(rotate_by) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1310(scale_dim) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1329(translate_to) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1340(vectorize) | |
3 0.000 0.000 0.000 0.000 multistroke.py:1367(optimal_cosine_distance) | |
5 0.000 0.000 0.000 0.000 multistroke.py:1424(centroid) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1438(bounding_box) | |
1 0.000 0.000 0.001 0.001 multistroke.py:1464(path_length) | |
112 0.001 0.000 0.001 0.000 multistroke.py:1471(distance) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1477(start_unit_vector) | |
6 0.000 0.000 0.000 0.000 multistroke.py:1483(angle_between_unit_vectors) | |
103 0.000 0.000 0.000 0.000 multistroke.py:187(__init__) | |
1 0.000 0.000 0.000 0.000 multistroke.py:231(filter) | |
1 0.000 0.000 0.001 0.001 multistroke.py:435(recognize) | |
1 0.000 0.000 0.010 0.010 multistroke.py:512(_recognize_tick) | |
11 0.000 0.000 0.000 0.000 multistroke.py:517(_criteria) | |
1 0.000 0.000 0.000 0.000 multistroke.py:573(_candidate) | |
1 0.000 0.000 0.000 0.000 multistroke.py:601(_get_priority) | |
3 0.000 0.000 0.000 0.000 multistroke.py:610(_get_list) | |
1 0.000 0.000 0.000 0.000 multistroke.py:619(on_search_start) | |
1 0.000 0.000 0.000 0.000 multistroke.py:665(__init__) | |
3 0.000 0.000 0.000 0.000 multistroke.py:712(_add_result) | |
3 0.000 0.000 0.000 0.000 multistroke.py:728(score_distance) | |
10 0.000 0.000 0.000 0.000 multistroke.py:742(on_progress) | |
3 0.000 0.000 0.000 0.000 multistroke.py:745(on_result) | |
6 0.000 0.000 0.000 0.000 multistroke.py:843(angle_similarity_threshold) | |
3 0.000 0.000 0.000 0.000 multistroke.py:864(get_distance) | |
10 0.003 0.000 0.010 0.001 multistroke.py:885(match_candidate) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:22(__init__) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:38(__call__) | |
2 0.000 0.000 0.000 0.000 weakmethod.py:53(is_dead) | |
7 0.000 0.000 0.000 0.000 {isinstance} | |
1207 0.002 0.000 0.002 0.000 {len} | |
9 0.000 0.000 0.000 0.000 {math.acos} | |
2 0.000 0.000 0.000 0.000 {math.atan2} | |
3 0.000 0.000 0.000 0.000 {math.atan} | |
6 0.000 0.000 0.000 0.000 {math.cos} | |
1 0.000 0.000 0.000 0.000 {math.floor} | |
6 0.000 0.000 0.000 0.000 {math.radians} | |
6 0.000 0.000 0.000 0.000 {math.sin} | |
116 0.000 0.000 0.000 0.000 {math.sqrt} | |
52 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects} | |
161 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
14 0.000 0.000 0.000 0.000 {method 'dispatch' of 'kivy._event.EventDispatcher' objects} | |
22 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} | |
14 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects} | |
2 0.000 0.000 0.000 0.000 {method 'keys' of 'dict' objects} | |
10 0.000 0.000 0.000 0.000 {method 'popleft' of 'collections.deque' objects} | |
3 0.000 0.000 0.000 0.000 {method 'register_event_type' of 'kivy._event.EventDispatcher' objects} | |
1 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {min} | |
13 0.000 0.000 0.000 0.000 {range} | |
1 0.016 0.016 0.016 0.016 {time.sleep} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
2158 function calls in 0.027 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 0.027 0.027 <string>:1(<module>) | |
2 0.000 0.000 0.000 0.000 clock.py:121(_hash) | |
2 0.000 0.000 0.000 0.000 clock.py:135(__init__) | |
1 0.000 0.000 0.000 0.000 clock.py:159(get_callback) | |
1 0.000 0.000 0.000 0.000 clock.py:178(release) | |
3 0.000 0.000 0.010 0.003 clock.py:182(tick) | |
1 0.000 0.000 0.026 0.026 clock.py:250(tick) | |
1 0.000 0.000 0.000 0.000 clock.py:307(get_time) | |
2 0.000 0.000 0.000 0.000 clock.py:326(schedule_once) | |
1 0.000 0.000 0.000 0.000 clock.py:373(_release_references) | |
1 0.000 0.000 0.010 0.010 clock.py:387(_process_events) | |
28 0.000 0.000 0.000 0.000 multistroke.py:1065(_get_db_key) | |
24 0.000 0.000 0.000 0.000 multistroke.py:1071(get_start_unit_vector) | |
4 0.000 0.000 0.000 0.000 multistroke.py:1074(get_vector) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1147(__init__) | |
28 0.000 0.000 0.004 0.000 multistroke.py:1169(_get_db_key) | |
24 0.000 0.000 0.004 0.000 multistroke.py:1177(get_start_unit_vector) | |
4 0.000 0.000 0.000 0.000 multistroke.py:1184(get_protractor_vector) | |
24 0.000 0.000 0.005 0.000 multistroke.py:1192(get_angle_similarity) | |
1 0.000 0.000 0.004 0.004 multistroke.py:1201(prepare) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1249(combine_strokes) | |
1 0.000 0.000 0.002 0.002 multistroke.py:1254(resample) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1290(indicative_angle) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1295(rotate_by) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1310(scale_dim) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1329(translate_to) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1340(vectorize) | |
4 0.000 0.000 0.000 0.000 multistroke.py:1367(optimal_cosine_distance) | |
5 0.000 0.000 0.000 0.000 multistroke.py:1424(centroid) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1438(bounding_box) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1464(path_length) | |
82 0.000 0.000 0.001 0.000 multistroke.py:1471(distance) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1477(start_unit_vector) | |
24 0.000 0.000 0.000 0.000 multistroke.py:1483(angle_between_unit_vectors) | |
103 0.000 0.000 0.000 0.000 multistroke.py:187(__init__) | |
1 0.000 0.000 0.000 0.000 multistroke.py:231(filter) | |
1 0.000 0.000 0.001 0.001 multistroke.py:435(recognize) | |
1 0.000 0.000 0.010 0.010 multistroke.py:512(_recognize_tick) | |
11 0.000 0.000 0.000 0.000 multistroke.py:517(_criteria) | |
1 0.000 0.000 0.000 0.000 multistroke.py:573(_candidate) | |
1 0.000 0.000 0.000 0.000 multistroke.py:601(_get_priority) | |
3 0.000 0.000 0.000 0.000 multistroke.py:610(_get_list) | |
1 0.000 0.000 0.000 0.000 multistroke.py:619(on_search_start) | |
1 0.000 0.000 0.000 0.000 multistroke.py:665(__init__) | |
2 0.000 0.000 0.000 0.000 multistroke.py:712(_add_result) | |
2 0.000 0.000 0.000 0.000 multistroke.py:728(score_distance) | |
10 0.000 0.000 0.000 0.000 multistroke.py:742(on_progress) | |
2 0.000 0.000 0.000 0.000 multistroke.py:745(on_result) | |
24 0.000 0.000 0.000 0.000 multistroke.py:843(angle_similarity_threshold) | |
4 0.000 0.000 0.000 0.000 multistroke.py:864(get_distance) | |
10 0.003 0.000 0.010 0.001 multistroke.py:885(match_candidate) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:22(__init__) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:38(__call__) | |
2 0.000 0.000 0.000 0.000 weakmethod.py:53(is_dead) | |
7 0.000 0.000 0.000 0.000 {isinstance} | |
1193 0.002 0.000 0.002 0.000 {len} | |
28 0.000 0.000 0.000 0.000 {math.acos} | |
2 0.000 0.000 0.000 0.000 {math.atan2} | |
4 0.000 0.000 0.000 0.000 {math.atan} | |
7 0.000 0.000 0.000 0.000 {math.cos} | |
1 0.000 0.000 0.000 0.000 {math.floor} | |
24 0.000 0.000 0.000 0.000 {math.radians} | |
7 0.000 0.000 0.000 0.000 {math.sin} | |
86 0.000 0.000 0.000 0.000 {math.sqrt} | |
52 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects} | |
161 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
13 0.000 0.000 0.000 0.000 {method 'dispatch' of 'kivy._event.EventDispatcher' objects} | |
59 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} | |
14 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects} | |
2 0.000 0.000 0.000 0.000 {method 'keys' of 'dict' objects} | |
10 0.000 0.000 0.000 0.000 {method 'popleft' of 'collections.deque' objects} | |
3 0.000 0.000 0.000 0.000 {method 'register_event_type' of 'kivy._event.EventDispatcher' objects} | |
1 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {min} | |
14 0.000 0.000 0.000 0.000 {range} | |
1 0.016 0.016 0.016 0.016 {time.sleep} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
4382 function calls in 0.038 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 0.038 0.038 <string>:1(<module>) | |
2 0.000 0.000 0.000 0.000 clock.py:121(_hash) | |
2 0.000 0.000 0.000 0.000 clock.py:135(__init__) | |
1 0.000 0.000 0.000 0.000 clock.py:159(get_callback) | |
1 0.000 0.000 0.000 0.000 clock.py:178(release) | |
3 0.000 0.000 0.022 0.007 clock.py:182(tick) | |
1 0.000 0.000 0.037 0.037 clock.py:250(tick) | |
1 0.000 0.000 0.000 0.000 clock.py:307(get_time) | |
2 0.000 0.000 0.000 0.000 clock.py:326(schedule_once) | |
1 0.000 0.000 0.000 0.000 clock.py:373(_release_references) | |
1 0.000 0.000 0.022 0.022 clock.py:387(_process_events) | |
198 0.001 0.000 0.001 0.000 multistroke.py:1065(_get_db_key) | |
144 0.001 0.000 0.001 0.000 multistroke.py:1071(get_start_unit_vector) | |
54 0.000 0.000 0.000 0.000 multistroke.py:1074(get_vector) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1147(__init__) | |
198 0.001 0.000 0.006 0.000 multistroke.py:1169(_get_db_key) | |
144 0.001 0.000 0.006 0.000 multistroke.py:1177(get_start_unit_vector) | |
54 0.000 0.000 0.000 0.000 multistroke.py:1184(get_protractor_vector) | |
144 0.002 0.000 0.010 0.000 multistroke.py:1192(get_angle_similarity) | |
1 0.000 0.000 0.005 0.005 multistroke.py:1201(prepare) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1249(combine_strokes) | |
1 0.001 0.001 0.003 0.003 multistroke.py:1254(resample) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1290(indicative_angle) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1295(rotate_by) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1310(scale_dim) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1329(translate_to) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1340(vectorize) | |
54 0.003 0.000 0.003 0.000 multistroke.py:1367(optimal_cosine_distance) | |
5 0.000 0.000 0.000 0.000 multistroke.py:1424(centroid) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1438(bounding_box) | |
1 0.000 0.000 0.001 0.001 multistroke.py:1464(path_length) | |
181 0.001 0.000 0.001 0.000 multistroke.py:1471(distance) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1477(start_unit_vector) | |
144 0.001 0.000 0.001 0.000 multistroke.py:1483(angle_between_unit_vectors) | |
104 0.000 0.000 0.000 0.000 multistroke.py:187(__init__) | |
1 0.000 0.000 0.000 0.000 multistroke.py:231(filter) | |
1 0.000 0.000 0.001 0.001 multistroke.py:435(recognize) | |
1 0.000 0.000 0.022 0.022 multistroke.py:512(_recognize_tick) | |
11 0.000 0.000 0.000 0.000 multistroke.py:517(_criteria) | |
1 0.000 0.000 0.000 0.000 multistroke.py:573(_candidate) | |
1 0.000 0.000 0.000 0.000 multistroke.py:601(_get_priority) | |
3 0.000 0.000 0.000 0.000 multistroke.py:610(_get_list) | |
1 0.000 0.000 0.000 0.000 multistroke.py:619(on_search_start) | |
1 0.000 0.000 0.000 0.000 multistroke.py:665(__init__) | |
3 0.000 0.000 0.000 0.000 multistroke.py:712(_add_result) | |
3 0.000 0.000 0.000 0.000 multistroke.py:728(score_distance) | |
10 0.000 0.000 0.000 0.000 multistroke.py:742(on_progress) | |
3 0.000 0.000 0.000 0.000 multistroke.py:745(on_result) | |
144 0.001 0.000 0.001 0.000 multistroke.py:843(angle_similarity_threshold) | |
54 0.001 0.000 0.005 0.000 multistroke.py:864(get_distance) | |
10 0.004 0.000 0.022 0.002 multistroke.py:885(match_candidate) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:22(__init__) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:38(__call__) | |
2 0.000 0.000 0.000 0.000 weakmethod.py:53(is_dead) | |
7 0.000 0.000 0.000 0.000 {isinstance} | |
1293 0.002 0.000 0.002 0.000 {len} | |
198 0.000 0.000 0.000 0.000 {math.acos} | |
2 0.000 0.000 0.000 0.000 {math.atan2} | |
54 0.000 0.000 0.000 0.000 {math.atan} | |
57 0.000 0.000 0.000 0.000 {math.cos} | |
1 0.000 0.000 0.000 0.000 {math.floor} | |
144 0.000 0.000 0.000 0.000 {math.radians} | |
57 0.000 0.000 0.000 0.000 {math.sin} | |
185 0.000 0.000 0.000 0.000 {math.sqrt} | |
52 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects} | |
161 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
14 0.000 0.000 0.000 0.000 {method 'dispatch' of 'kivy._event.EventDispatcher' objects} | |
349 0.001 0.000 0.001 0.000 {method 'get' of 'dict' objects} | |
15 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects} | |
2 0.000 0.000 0.000 0.000 {method 'keys' of 'dict' objects} | |
10 0.000 0.000 0.000 0.000 {method 'popleft' of 'collections.deque' objects} | |
3 0.000 0.000 0.000 0.000 {method 'register_event_type' of 'kivy._event.EventDispatcher' objects} | |
1 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {min} | |
64 0.000 0.000 0.000 0.000 {range} | |
1 0.015 0.015 0.015 0.015 {time.sleep} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
1991 function calls in 0.030 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 0.030 0.030 <string>:1(<module>) | |
2 0.000 0.000 0.000 0.000 clock.py:121(_hash) | |
2 0.000 0.000 0.000 0.000 clock.py:135(__init__) | |
1 0.000 0.000 0.000 0.000 clock.py:159(get_callback) | |
1 0.000 0.000 0.000 0.000 clock.py:178(release) | |
3 0.000 0.000 0.014 0.005 clock.py:182(tick) | |
1 0.000 0.000 0.030 0.030 clock.py:250(tick) | |
1 0.000 0.000 0.000 0.000 clock.py:307(get_time) | |
2 0.000 0.000 0.000 0.000 clock.py:326(schedule_once) | |
1 0.000 0.000 0.000 0.000 clock.py:373(_release_references) | |
1 0.000 0.000 0.014 0.014 clock.py:387(_process_events) | |
9 0.000 0.000 0.000 0.000 multistroke.py:1065(_get_db_key) | |
6 0.000 0.000 0.000 0.000 multistroke.py:1071(get_start_unit_vector) | |
3 0.000 0.000 0.000 0.000 multistroke.py:1074(get_vector) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1147(__init__) | |
9 0.000 0.000 0.008 0.001 multistroke.py:1169(_get_db_key) | |
6 0.000 0.000 0.008 0.001 multistroke.py:1177(get_start_unit_vector) | |
3 0.000 0.000 0.000 0.000 multistroke.py:1184(get_protractor_vector) | |
6 0.000 0.000 0.009 0.001 multistroke.py:1192(get_angle_similarity) | |
1 0.000 0.000 0.008 0.008 multistroke.py:1201(prepare) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1249(combine_strokes) | |
1 0.001 0.001 0.002 0.002 multistroke.py:1254(resample) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1290(indicative_angle) | |
2 0.005 0.002 0.005 0.002 multistroke.py:1295(rotate_by) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1310(scale_dim) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1329(translate_to) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1340(vectorize) | |
3 0.000 0.000 0.000 0.000 multistroke.py:1367(optimal_cosine_distance) | |
5 0.000 0.000 0.000 0.000 multistroke.py:1424(centroid) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1438(bounding_box) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1464(path_length) | |
98 0.001 0.000 0.001 0.000 multistroke.py:1471(distance) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1477(start_unit_vector) | |
6 0.000 0.000 0.000 0.000 multistroke.py:1483(angle_between_unit_vectors) | |
103 0.000 0.000 0.000 0.000 multistroke.py:187(__init__) | |
1 0.000 0.000 0.000 0.000 multistroke.py:231(filter) | |
1 0.000 0.000 0.001 0.001 multistroke.py:435(recognize) | |
1 0.000 0.000 0.014 0.014 multistroke.py:512(_recognize_tick) | |
11 0.000 0.000 0.000 0.000 multistroke.py:517(_criteria) | |
1 0.000 0.000 0.000 0.000 multistroke.py:573(_candidate) | |
1 0.000 0.000 0.000 0.000 multistroke.py:601(_get_priority) | |
3 0.000 0.000 0.000 0.000 multistroke.py:610(_get_list) | |
1 0.000 0.000 0.000 0.000 multistroke.py:619(on_search_start) | |
1 0.000 0.000 0.000 0.000 multistroke.py:665(__init__) | |
3 0.000 0.000 0.000 0.000 multistroke.py:712(_add_result) | |
3 0.000 0.000 0.000 0.000 multistroke.py:728(score_distance) | |
10 0.000 0.000 0.000 0.000 multistroke.py:742(on_progress) | |
3 0.000 0.000 0.000 0.000 multistroke.py:745(on_result) | |
6 0.000 0.000 0.000 0.000 multistroke.py:843(angle_similarity_threshold) | |
3 0.000 0.000 0.000 0.000 multistroke.py:864(get_distance) | |
10 0.003 0.000 0.013 0.001 multistroke.py:885(match_candidate) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:22(__init__) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:38(__call__) | |
2 0.000 0.000 0.000 0.000 weakmethod.py:53(is_dead) | |
7 0.000 0.000 0.000 0.000 {isinstance} | |
1200 0.002 0.000 0.002 0.000 {len} | |
9 0.000 0.000 0.000 0.000 {math.acos} | |
2 0.000 0.000 0.000 0.000 {math.atan2} | |
3 0.000 0.000 0.000 0.000 {math.atan} | |
6 0.000 0.000 0.000 0.000 {math.cos} | |
1 0.000 0.000 0.000 0.000 {math.floor} | |
6 0.000 0.000 0.000 0.000 {math.radians} | |
6 0.000 0.000 0.000 0.000 {math.sin} | |
102 0.000 0.000 0.000 0.000 {math.sqrt} | |
52 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects} | |
161 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
14 0.000 0.000 0.000 0.000 {method 'dispatch' of 'kivy._event.EventDispatcher' objects} | |
22 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} | |
14 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects} | |
2 0.000 0.000 0.000 0.000 {method 'keys' of 'dict' objects} | |
10 0.000 0.000 0.000 0.000 {method 'popleft' of 'collections.deque' objects} | |
3 0.000 0.000 0.000 0.000 {method 'register_event_type' of 'kivy._event.EventDispatcher' objects} | |
1 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {min} | |
13 0.000 0.000 0.000 0.000 {range} | |
1 0.016 0.016 0.016 0.016 {time.sleep} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
1956 function calls in 0.025 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 0.025 0.025 <string>:1(<module>) | |
2 0.000 0.000 0.000 0.000 clock.py:121(_hash) | |
2 0.000 0.000 0.000 0.000 clock.py:135(__init__) | |
1 0.000 0.000 0.000 0.000 clock.py:159(get_callback) | |
1 0.000 0.000 0.000 0.000 clock.py:178(release) | |
3 0.000 0.000 0.008 0.003 clock.py:182(tick) | |
1 0.000 0.000 0.024 0.024 clock.py:250(tick) | |
1 0.000 0.000 0.000 0.000 clock.py:307(get_time) | |
2 0.000 0.000 0.000 0.000 clock.py:326(schedule_once) | |
1 0.000 0.000 0.000 0.000 clock.py:373(_release_references) | |
1 0.000 0.000 0.009 0.009 clock.py:387(_process_events) | |
9 0.000 0.000 0.000 0.000 multistroke.py:1065(_get_db_key) | |
6 0.000 0.000 0.000 0.000 multistroke.py:1071(get_start_unit_vector) | |
3 0.000 0.000 0.000 0.000 multistroke.py:1074(get_vector) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1147(__init__) | |
9 0.000 0.000 0.004 0.000 multistroke.py:1169(_get_db_key) | |
6 0.000 0.000 0.004 0.001 multistroke.py:1177(get_start_unit_vector) | |
3 0.000 0.000 0.000 0.000 multistroke.py:1184(get_protractor_vector) | |
6 0.000 0.000 0.004 0.001 multistroke.py:1192(get_angle_similarity) | |
1 0.000 0.000 0.004 0.004 multistroke.py:1201(prepare) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1249(combine_strokes) | |
1 0.001 0.001 0.002 0.002 multistroke.py:1254(resample) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1290(indicative_angle) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1295(rotate_by) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1310(scale_dim) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1329(translate_to) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1340(vectorize) | |
3 0.000 0.000 0.000 0.000 multistroke.py:1367(optimal_cosine_distance) | |
5 0.000 0.000 0.000 0.000 multistroke.py:1424(centroid) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1438(bounding_box) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1464(path_length) | |
84 0.001 0.000 0.001 0.000 multistroke.py:1471(distance) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1477(start_unit_vector) | |
6 0.000 0.000 0.000 0.000 multistroke.py:1483(angle_between_unit_vectors) | |
103 0.000 0.000 0.000 0.000 multistroke.py:187(__init__) | |
1 0.000 0.000 0.000 0.000 multistroke.py:231(filter) | |
1 0.000 0.000 0.001 0.001 multistroke.py:435(recognize) | |
1 0.000 0.000 0.008 0.008 multistroke.py:512(_recognize_tick) | |
11 0.000 0.000 0.000 0.000 multistroke.py:517(_criteria) | |
1 0.000 0.000 0.000 0.000 multistroke.py:573(_candidate) | |
1 0.000 0.000 0.000 0.000 multistroke.py:601(_get_priority) | |
3 0.000 0.000 0.000 0.000 multistroke.py:610(_get_list) | |
1 0.000 0.000 0.000 0.000 multistroke.py:619(on_search_start) | |
1 0.000 0.000 0.000 0.000 multistroke.py:665(__init__) | |
3 0.000 0.000 0.000 0.000 multistroke.py:712(_add_result) | |
3 0.000 0.000 0.000 0.000 multistroke.py:728(score_distance) | |
10 0.000 0.000 0.000 0.000 multistroke.py:742(on_progress) | |
3 0.000 0.000 0.000 0.000 multistroke.py:745(on_result) | |
6 0.000 0.000 0.000 0.000 multistroke.py:843(angle_similarity_threshold) | |
3 0.000 0.000 0.000 0.000 multistroke.py:864(get_distance) | |
10 0.002 0.000 0.008 0.001 multistroke.py:885(match_candidate) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:22(__init__) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:38(__call__) | |
2 0.000 0.000 0.000 0.000 weakmethod.py:53(is_dead) | |
7 0.000 0.000 0.000 0.000 {isinstance} | |
1193 0.002 0.000 0.002 0.000 {len} | |
9 0.000 0.000 0.000 0.000 {math.acos} | |
2 0.000 0.000 0.000 0.000 {math.atan2} | |
3 0.000 0.000 0.000 0.000 {math.atan} | |
6 0.000 0.000 0.000 0.000 {math.cos} | |
1 0.000 0.000 0.000 0.000 {math.floor} | |
6 0.000 0.000 0.000 0.000 {math.radians} | |
6 0.000 0.000 0.000 0.000 {math.sin} | |
88 0.000 0.000 0.000 0.000 {math.sqrt} | |
52 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects} | |
161 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
14 0.000 0.000 0.000 0.000 {method 'dispatch' of 'kivy._event.EventDispatcher' objects} | |
22 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} | |
14 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects} | |
2 0.000 0.000 0.000 0.000 {method 'keys' of 'dict' objects} | |
10 0.000 0.000 0.000 0.000 {method 'popleft' of 'collections.deque' objects} | |
3 0.000 0.000 0.000 0.000 {method 'register_event_type' of 'kivy._event.EventDispatcher' objects} | |
1 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {min} | |
13 0.000 0.000 0.000 0.000 {range} | |
1 0.016 0.016 0.016 0.016 {time.sleep} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
1969 function calls in 0.026 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 0.026 0.026 <string>:1(<module>) | |
2 0.000 0.000 0.000 0.000 clock.py:121(_hash) | |
2 0.000 0.000 0.000 0.000 clock.py:135(__init__) | |
1 0.000 0.000 0.000 0.000 clock.py:159(get_callback) | |
1 0.000 0.000 0.000 0.000 clock.py:178(release) | |
3 0.000 0.000 0.010 0.003 clock.py:182(tick) | |
1 0.000 0.000 0.025 0.025 clock.py:250(tick) | |
1 0.000 0.000 0.000 0.000 clock.py:307(get_time) | |
2 0.000 0.000 0.000 0.000 clock.py:326(schedule_once) | |
1 0.000 0.000 0.000 0.000 clock.py:373(_release_references) | |
1 0.000 0.000 0.010 0.010 clock.py:387(_process_events) | |
8 0.000 0.000 0.000 0.000 multistroke.py:1065(_get_db_key) | |
6 0.000 0.000 0.000 0.000 multistroke.py:1071(get_start_unit_vector) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1074(get_vector) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1147(__init__) | |
8 0.000 0.000 0.004 0.000 multistroke.py:1169(_get_db_key) | |
6 0.000 0.000 0.004 0.001 multistroke.py:1177(get_start_unit_vector) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1184(get_protractor_vector) | |
6 0.000 0.000 0.004 0.001 multistroke.py:1192(get_angle_similarity) | |
1 0.000 0.000 0.004 0.004 multistroke.py:1201(prepare) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1249(combine_strokes) | |
1 0.001 0.001 0.002 0.002 multistroke.py:1254(resample) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1290(indicative_angle) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1295(rotate_by) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1310(scale_dim) | |
2 0.000 0.000 0.001 0.000 multistroke.py:1329(translate_to) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1340(vectorize) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1367(optimal_cosine_distance) | |
5 0.000 0.000 0.000 0.000 multistroke.py:1424(centroid) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1438(bounding_box) | |
1 0.000 0.000 0.000 0.000 multistroke.py:1464(path_length) | |
96 0.001 0.000 0.001 0.000 multistroke.py:1471(distance) | |
2 0.000 0.000 0.000 0.000 multistroke.py:1477(start_unit_vector) | |
6 0.000 0.000 0.000 0.000 multistroke.py:1483(angle_between_unit_vectors) | |
103 0.000 0.000 0.000 0.000 multistroke.py:187(__init__) | |
1 0.000 0.000 0.000 0.000 multistroke.py:231(filter) | |
1 0.000 0.000 0.001 0.001 multistroke.py:435(recognize) | |
1 0.000 0.000 0.010 0.010 multistroke.py:512(_recognize_tick) | |
11 0.000 0.000 0.000 0.000 multistroke.py:517(_criteria) | |
1 0.000 0.000 0.000 0.000 multistroke.py:573(_candidate) | |
1 0.000 0.000 0.000 0.000 multistroke.py:601(_get_priority) | |
3 0.000 0.000 0.000 0.000 multistroke.py:610(_get_list) | |
1 0.000 0.000 0.000 0.000 multistroke.py:619(on_search_start) | |
1 0.000 0.000 0.000 0.000 multistroke.py:665(__init__) | |
2 0.000 0.000 0.000 0.000 multistroke.py:712(_add_result) | |
2 0.000 0.000 0.000 0.000 multistroke.py:728(score_distance) | |
10 0.000 0.000 0.000 0.000 multistroke.py:742(on_progress) | |
2 0.000 0.000 0.000 0.000 multistroke.py:745(on_result) | |
6 0.000 0.000 0.000 0.000 multistroke.py:843(angle_similarity_threshold) | |
2 0.000 0.000 0.000 0.000 multistroke.py:864(get_distance) | |
10 0.003 0.000 0.009 0.001 multistroke.py:885(match_candidate) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:22(__init__) | |
1 0.000 0.000 0.000 0.000 weakmethod.py:38(__call__) | |
2 0.000 0.000 0.000 0.000 weakmethod.py:53(is_dead) | |
7 0.000 0.000 0.000 0.000 {isinstance} | |
1198 0.002 0.000 0.002 0.000 {len} | |
8 0.000 0.000 0.000 0.000 {math.acos} | |
2 0.000 0.000 0.000 0.000 {math.atan2} | |
2 0.000 0.000 0.000 0.000 {math.atan} | |
5 0.000 0.000 0.000 0.000 {math.cos} | |
1 0.000 0.000 0.000 0.000 {math.floor} | |
6 0.000 0.000 0.000 0.000 {math.radians} | |
5 0.000 0.000 0.000 0.000 {math.sin} | |
100 0.000 0.000 0.000 0.000 {math.sqrt} | |
52 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects} | |
161 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
13 0.000 0.000 0.000 0.000 {method 'dispatch' of 'kivy._event.EventDispatcher' objects} | |
21 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} | |
14 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects} | |
2 0.000 0.000 0.000 0.000 {method 'keys' of 'dict' objects} | |
10 0.000 0.000 0.000 0.000 {method 'popleft' of 'collections.deque' objects} | |
3 0.000 0.000 0.000 0.000 {method 'register_event_type' of 'kivy._event.EventDispatcher' objects} | |
1 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {min} | |
12 0.000 0.000 0.000 0.000 {range} | |
1 0.016 0.016 0.016 0.016 {time.sleep} | |
2 0.000 0.000 0.000 0.000 {time.time} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment