https://github.com/Bngel/061900209
一、PSP表格
個人開發流程 | 預估耗時(分鍾) | 實際耗時(分鍾) |
---|---|---|
計划 | 60 | 180 |
估計這個任務需要多少時間 | 180 | 360 |
開發 | 60 | 180 |
需求分析 (包括學習新技術) | 20 | 60 |
生成設計文檔 | 0 | 0 |
設計復審 | 0 | 0 |
代碼規范 (為目前的開發制定合適的規范) | 0 | 0 |
具體設計 | 60 | 240 |
具體編碼 | 60 | 180 |
代碼復審 | 120 | 180 |
測試(自我測試,修改代碼,提交修改) | 10 | 60 |
報告 | 0 | 0 |
測試報告 | 0 | 0 |
計算工作量 | 0 | 0 |
事后總結, 並提出過程改進計划 | 30 | 10 |
二、計算模塊接口
計算模塊接口的設計與實現過程
- 第一時間搜索
Github
. 成功找到一些可以使用的第三方庫 - 但是第三方庫的文檔比較舊, 因此花了一些時間進行學習使用
計算模塊接口部分的性能改進
- 通過對算法的改進優化了部分的運行速率
21238739 function calls (20746056 primitive calls) in 88.500 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
3 0.000 0.000 0.000 0.000 :0(__import__)
7299 0.016 0.000 0.016 0.000 :0(_abc_instancecheck)
6 0.000 0.000 0.000 0.000 :0(any)
916409 1.328 0.000 1.328 0.000 :0(append)
1531 0.000 0.000 0.000 0.000 :0(bin)
34242 0.031 0.000 0.031 0.000 :0(callable)
3 0.000 0.000 0.000 0.000 :0(cast)
3 0.000 0.000 0.000 0.000 :0(compile)
1531 0.000 0.000 0.000 0.000 :0(count)
3 0.000 0.000 0.000 0.000 :0(decode)
1 0.000 0.000 88.500 88.500 :0(exec)
474099 1.141 0.000 1.141 0.000 :0(extend)
24 0.000 0.000 0.000 0.000 :0(find)
1440 0.016 0.000 0.016 0.000 :0(finditer)
399 0.000 0.000 0.000 0.000 :0(format)
6 0.000 0.000 0.000 0.000 :0(fromkeys)
16 0.000 0.000 0.000 0.000 :0(fspath)
361039 0.906 0.000 0.906 0.000 :0(get)
145478 0.281 0.000 0.281 0.000 :0(group)
6 0.000 0.000 0.000 0.000 :0(hasattr)
244980 0.469 0.000 0.469 0.000 :0(id)
1156 0.000 0.000 0.000 0.000 :0(index)
7315 0.031 0.000 0.031 0.000 :0(insert)
9 0.000 0.000 0.000 0.000 :0(isdigit)
1666165 2.656 0.000 2.688 0.000 :0(isinstance)
149505 0.391 0.000 0.391 0.000 :0(items)
409776/165435 1.328 0.000 2.094 0.000 :0(join)
880 0.000 0.000 0.000 0.000 :0(keys)
715615/715577 1.188 0.000 1.188 0.000 :0(len)
556523 1.562 0.000 1.562 0.000 :0(match)
21 0.000 0.000 0.000 0.000 :0(max)
1705 0.000 0.000 0.000 0.000 :0(min)
16882 0.078 0.000 0.094 0.000 :0(next)
3 0.000 0.000 0.000 0.000 :0(open)
3 0.000 0.000 0.000 0.000 :0(open_code)
108720 0.281 0.000 0.281 0.000 :0(ord)
251375 0.484 0.000 0.484 0.000 :0(pop)
394 0.016 0.000 0.016 0.000 :0(print)
3 0.000 0.000 0.000 0.000 :0(read)
485 0.000 0.000 0.000 0.000 :0(readline)
610770 1.000 0.000 1.000 0.000 :0(replace)
3 0.000 0.000 0.000 0.000 :0(rstrip)
3 0.016 0.005 0.016 0.005 :0(search)
1 0.000 0.000 0.000 0.000 :0(setprofile)
1 0.016 0.016 0.062 0.062 :0(sorted)
393 0.000 0.000 0.000 0.000 :0(span)
113844 0.250 0.000 0.250 0.000 :0(split)
25493 0.078 0.000 0.078 0.000 :0(startswith)
483 0.000 0.000 0.000 0.000 :0(strip)
298996 1.375 0.000 2.234 0.000 :0(sub)
7891 0.047 0.000 0.203 0.000 :0(sum)
1624 0.016 0.000 0.016 0.000 :0(time)
3 0.000 0.000 0.000 0.000 :0(tolist)
3 0.000 0.000 0.000 0.000 :0(translate)
46 0.000 0.000 0.000 0.000 :0(unicode_iscased)
25 0.000 0.000 0.000 0.000 :0(unicode_tolower)
2 0.000 0.000 0.000 0.000 :0(update)
12 0.000 0.000 0.000 0.000 :0(utf_8_decode)
1 0.000 0.000 0.000 0.000 :0(values)
3 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap_external>:969(get_data)
1 0.000 0.000 88.500 88.500 <string>:1(<module>)
3 0.000 0.000 41.469 13.823 __init__.py:103(load)
149498 0.688 0.000 7.609 0.000 __init__.py:8(convert)
149498 1.984 0.000 5.156 0.000 _utils.py:53(replace_symbol_to_number)
145085 0.578 0.000 0.859 0.000 _utils.py:55(_replace)
149498 0.812 0.000 6.359 0.000 _utils.py:68(replace_symbol_to_no_symbol)
7299 0.016 0.000 0.031 0.000 abc.py:96(__instancecheck__)
2 0.000 0.000 0.000 0.000 codecs.py:260(__init__)
2 0.000 0.000 0.000 0.000 codecs.py:309(__init__)
12 0.000 0.000 0.000 0.000 codecs.py:319(decode)
12 0.000 0.000 0.000 0.000 codecs.py:331(getstate)
7/3 0.031 0.004 39.109 13.036 composer.py:117(compose_mapping_node)
3 0.000 0.000 0.000 0.000 composer.py:13(__init__)
3 0.000 0.000 39.109 13.036 composer.py:29(get_single_node)
3 0.000 0.000 39.109 13.036 composer.py:50(compose_document)
67380/3 1.344 0.000 39.109 13.036 composer.py:63(compose_node)
50374 0.375 0.000 1.422 0.000 composer.py:88(compose_scalar_node)
16999/7292 0.578 0.000 31.625 0.004 composer.py:99(compose_sequence_node)
50374 0.109 0.000 0.203 0.000 constructor.py:117(construct_scalar)
16999/16956 0.078 0.000 1.703 0.000 constructor.py:124(construct_sequence)
16999/16956 0.141 0.000 1.594 0.000 constructor.py:129(<listcomp>)
7/3 0.062 0.009 0.531 0.177 constructor.py:132(construct_mapping)
49822 0.312 0.000 0.562 0.000 constructor.py:173(construct_scalar)
2 0.000 0.000 0.062 0.031 constructor.py:180(flatten_mapping)
2 0.000 0.000 0.578 0.289 constructor.py:215(construct_mapping)
12768 0.156 0.000 0.391 0.000 constructor.py:237(construct_yaml_int)
3 0.000 0.000 0.000 0.000 constructor.py:24(__init__)
37054 0.078 0.000 0.547 0.000 constructor.py:402(construct_yaml_str)
33760/24096 0.047 0.000 1.750 0.000 constructor.py:405(construct_yaml_seq)
4 0.000 0.000 0.578 0.145 constructor.py:410(construct_yaml_map)
3 0.000 0.000 41.453 13.818 constructor.py:47(get_single_data)
3 0.000 0.000 2.344 0.781 constructor.py:54(construct_document)
67380/66705 0.641 0.000 1.859 0.000 constructor.py:67(construct_object)
149498 0.219 0.000 0.219 0.000 converter.py:113(post_convert_style)
34242 0.047 0.000 0.047 0.000 converter.py:133(pre_handle_nopinyin)
34242 0.359 0.000 0.672 0.000 converter.py:150(handle_nopinyin)
34242 0.016 0.000 0.016 0.000 converter.py:199(post_handle_nopinyin)
129083 0.172 0.000 0.172 0.000 converter.py:219(post_pinyin)
129083 1.500 0.000 19.000 0.000 converter.py:234(_phrase_pinyin)
108668 1.781 0.000 10.547 0.000 converter.py:278(_single_pinyin)
489980 0.578 0.000 0.578 0.000 converter.py:29(__init__)
163325 1.422 0.000 21.594 0.000 converter.py:32(convert)
149498 0.516 0.000 8.125 0.000 converter.py:323(_convert_style)
34242 0.156 0.000 0.188 0.000 converter.py:327(_convert_nopinyin_chars)
122495 1.250 0.000 1.828 0.000 converter.py:360(__init__)
149498 0.812 0.000 1.031 0.000 converter.py:370(post_convert_style)
149498 0.234 0.000 0.234 0.000 converter.py:62(pre_convert_style)
149498 1.641 0.000 11.031 0.000 converter.py:80(convert_style)
102075/20415 1.547 0.000 3.594 0.000 copy.py:128(deepcopy)
40830 0.078 0.000 0.078 0.000 copy.py:182(_deepcopy_atomic)
61245/20415 0.578 0.000 2.938 0.000 copy.py:200(_deepcopy_list)
61245 0.234 0.000 0.375 0.000 copy.py:242(_keep_alive)
122495 0.781 0.000 35.094 0.000 core.py:100(lazy_pinyin)
122495 0.125 0.000 0.125 0.000 core.py:126(pre_seg)
122495 1.750 0.000 9.938 0.000 core.py:139(seg)
122495 0.203 0.000 0.203 0.000 core.py:159(get_seg)
122495 0.156 0.000 0.156 0.000 core.py:166(post_seg)
122495 1.125 0.000 38.375 0.000 core.py:313(lazy_pinyin)
122495 0.328 0.000 0.328 0.000 core.py:58(__init__)
122495 2.078 0.000 34.312 0.000 core.py:61(pinyin)
6 0.000 0.000 0.000 0.000 enum.py:278(__call__)
6 0.000 0.000 0.000 0.000 enum.py:557(__new__)
1440 0.000 0.000 0.000 0.000 enum.py:659(value)
3 0.000 0.000 0.000 0.000 enum.py:828(__and__)
315000 1.078 0.000 1.078 0.000 error.py:6(__init__)
17006 0.094 0.000 0.094 0.000 events.py:22(__init__)
3 0.000 0.000 0.000 0.000 events.py:37(__init__)
3 0.000 0.000 0.000 0.000 events.py:46(__init__)
17009 0.031 0.000 0.031 0.000 events.py:5(__init__)
3 0.000 0.000 0.000 0.000 events.py:55(__init__)
50374 0.125 0.000 0.125 0.000 events.py:65(__init__)
1 0.000 0.000 0.000 0.000 loader.py:13(__init__)
2 0.000 0.000 0.016 0.008 loader.py:33(__init__)
1 0.000 0.000 88.500 88.500 main.py:130(run)
25056 0.062 0.000 0.062 0.000 main.py:17(<genexpr>)
2510 0.000 0.000 0.000 0.000 main.py:46(<listcomp>)
2581 0.000 0.000 0.000 0.000 main.py:49(<listcomp>)
1532 0.000 0.000 0.000 0.000 main.py:51(<listcomp>)
33005 0.031 0.000 0.031 0.000 main.py:52(<genexpr>)
1 0.000 0.000 0.000 0.000 main.py:56(createRegex)
1 0.156 0.156 49.516 49.516 main.py:8(initChai)
1 0.531 0.531 38.969 38.969 main.py:92(matchForbidden)
217336 1.422 0.000 2.250 0.000 mmseg.py:18(cut)
210743 0.500 0.000 0.500 0.000 mmseg.py:91(__contains__)
50374 0.094 0.000 0.094 0.000 nodes.py:27(__init__)
17006 0.016 0.000 0.016 0.000 nodes.py:36(__init__)
10 0.000 0.000 0.000 0.000 ntpath.py:124(splitdrive)
3 0.000 0.000 0.000 0.000 ntpath.py:180(split)
3 0.000 0.000 0.000 0.000 ntpath.py:221(dirname)
3 0.000 0.000 0.000 0.000 ntpath.py:34(_get_bothseps)
3 0.000 0.000 0.000 0.000 ntpath.py:77(join)
3880 0.016 0.000 0.016 0.000 objects.py:13(__init__)
57012 0.203 0.000 0.266 0.000 objects.py:30(__init__)
32676/6610 0.109 0.000 0.141 0.000 objects.py:46(__init__)
8 0.000 0.000 0.000 0.000 objects.py:73(flatten)
6380 0.094 0.000 0.203 0.000 objects.py:88(flatten_with_complex)
149498 0.562 0.000 6.922 0.000 others.py:15(to_normal)
67380 0.062 0.000 0.062 0.000 parser.py:107(peek_event)
84398 0.172 0.000 0.172 0.000 parser.py:114(get_event)
3 0.000 0.000 0.000 0.000 parser.py:127(parse_stream_start)
3 0.000 0.000 0.000 0.000 parser.py:139(parse_implicit_document_start)
3 0.000 0.000 0.000 0.000 parser.py:159(parse_document_start)
3 0.000 0.000 0.000 0.000 parser.py:190(parse_document_end)
2954 0.016 0.000 0.297 0.000 parser.py:264(parse_block_node)
49828 0.297 0.000 6.719 0.000 parser.py:267(parse_flow_node)
14598 0.062 0.000 2.328 0.000 parser.py:270(parse_block_node_or_indentless_sequence)
67380 1.438 0.000 8.969 0.000 parser.py:273(parse_node)
608 0.000 0.000 1.750 0.003 parser.py:376(parse_block_sequence_first_entry)
3559 0.016 0.000 8.781 0.002 parser.py:381(parse_block_sequence_entry)
7 0.000 0.000 0.016 0.002 parser.py:422(parse_block_mapping_first_key)
7306 0.156 0.000 3.922 0.001 parser.py:427(parse_block_mapping_key)
7299 0.062 0.000 2.531 0.000 parser.py:446(parse_block_mapping_value)
16391 0.156 0.000 5.297 0.000 parser.py:471(parse_flow_sequence_first_entry)
66219 0.906 0.000 17.984 0.000 parser.py:476(parse_flow_sequence_entry)
3 0.000 0.000 0.000 0.000 parser.py:81(__init__)
3 0.000 0.000 0.000 0.000 parser.py:89(dispose)
228863 1.078 0.000 35.016 0.000 parser.py:94(check_event)
3 0.000 0.000 0.000 0.000 pkgutil.py:597(get_data)
1956 0.016 0.000 0.016 0.000 presets.py:101(<genexpr>)
54140 0.047 0.000 0.047 0.000 presets.py:15(<listcomp>)
54140 0.531 0.000 3.500 0.000 presets.py:29(getTopoList)
53944 0.531 0.000 1.188 0.000 presets.py:38(<listcomp>)
243629 0.656 0.000 0.656 0.000 presets.py:39(<listcomp>)
298481 0.734 0.000 1.266 0.000 presets.py:48(<genexpr>)
9481 0.047 0.000 0.062 0.000 presets.py:52(schemeLen)
428 0.016 0.000 0.031 0.000 presets.py:60(schemeTopo)
3902 0.016 0.000 0.016 0.000 presets.py:69(<genexpr>)
428 0.000 0.000 0.016 0.000 presets.py:69(<listcomp>)
5119 0.000 0.000 0.000 0.000 presets.py:79(<listcomp>)
1035 0.000 0.000 0.094 0.000 presets.py:84(schemeOrder)
54140 0.156 0.000 0.297 0.000 presets.py:9(getStrokeList)
17687/5557 0.078 0.000 0.078 0.000 presets.py:92(<genexpr>)
425 0.000 0.000 0.016 0.000 presets.py:95(schemeBias)
0 0.000 0.000 profile:0(profiler)
1 0.000 0.000 88.500 88.500 profile:0(run())
406 0.922 0.002 5.781 0.014 pychai.py:116(genPowerDict)
406 0.000 0.000 0.000 0.000 pychai.py:127(<listcomp>)
406 0.391 0.001 1.062 0.003 pychai.py:144(genSchemeList)
166546 0.266 0.000 0.266 0.000 pychai.py:159(<lambda>)
1 0.062 0.062 41.766 41.766 pychai.py:16(__init__)
406 0.000 0.000 0.312 0.001 pychai.py:171(genBestScheme)
56368 0.406 0.000 4.203 0.000 pychai.py:174(degenerator)
406 0.031 0.000 0.312 0.001 pychai.py:184(selector)
1624 0.047 0.000 0.250 0.000 pychai.py:190(<listcomp>)
1624 0.000 0.000 0.000 0.000 pychai.py:192(<listcomp>)
1858 0.016 0.000 0.016 0.000 pychai.py:202(<genexpr>)
1 0.031 0.031 7.219 7.219 pychai.py:206(run)
24/8 0.000 0.000 0.000 0.000 pychai.py:228(<listcomp>)
605 0.000 0.000 0.016 0.000 pychai.py:232(<listcomp>)
7215 0.047 0.000 0.047 0.000 pychai.py:42(<lambda>)
1 0.000 0.000 0.031 0.031 pychai.py:54(parseSchema)
1 0.000 0.000 0.000 0.000 pychai.py:69(<listcomp>)
196 0.000 0.000 0.000 0.000 pychai.py:80(<listcomp>)
193 0.000 0.000 0.000 0.000 pychai.py:96(<genexpr>)
42 0.000 0.000 0.000 0.000 pychai.py:97(<listcomp>)
3 0.000 0.000 0.000 0.000 pydev_import_hook.py:16(do_import)
1440 0.016 0.000 0.062 0.000 re.py:243(finditer)
1440 0.000 0.000 0.031 0.000 re.py:289(_compile)
315000 1.266 0.000 2.344 0.000 reader.py:114(get_mark)
3 0.000 0.000 0.016 0.005 reader.py:138(check_printable)
5 0.000 0.000 0.000 0.000 reader.py:146(update)
3 0.000 0.000 0.016 0.005 reader.py:59(__init__)
937141 1.656 0.000 1.656 0.000 reader.py:87(peek)
111026 0.406 0.000 0.562 0.000 reader.py:94(prefix)
236660 1.328 0.000 1.703 0.000 reader.py:99(forward)
67380 0.141 0.000 0.141 0.000 resolver.py:114(ascend_resolver)
67380 0.516 0.000 0.875 0.000 resolver.py:143(resolve)
3 0.000 0.000 0.000 0.000 resolver.py:21(__init__)
67380 0.219 0.000 0.219 0.000 resolver.py:91(descend_resolver)
1 0.000 0.000 0.000 0.000 scanner.py:1052(scan_block_scalar_indicators)
1 0.000 0.000 0.000 0.000 scanner.py:1092(scan_block_scalar_ignored_line)
1 0.000 0.000 0.000 0.000 scanner.py:1106(scan_block_scalar_indentation)
1 0.000 0.000 0.000 0.000 scanner.py:1121(scan_block_scalar_breaks)
538013 3.406 0.000 26.641 0.000 scanner.py:113(check_token)
1 0.000 0.000 0.000 0.000 scanner.py:1134(scan_flow_scalar)
1 0.000 0.000 0.000 0.000 scanner.py:1185(scan_flow_scalar_non_spaces)
84392 0.266 0.000 1.188 0.000 scanner.py:125(peek_token)
50372 1.547 0.000 5.172 0.000 scanner.py:1270(scan_plain)
50377 0.562 0.000 1.359 0.000 scanner.py:1311(scan_plain_spaces)
135378 0.719 0.000 2.156 0.000 scanner.py:135(get_token)
137105 0.531 0.000 0.797 0.000 scanner.py:1416(scan_line_break)
884629 4.719 0.000 8.391 0.000 scanner.py:145(need_more_tokens)
126846 1.547 0.000 15.984 0.000 scanner.py:156(fetch_more_tokens)
847198 1.531 0.000 1.531 0.000 scanner.py:264(next_possible_simple_key)
974044 2.344 0.000 2.344 0.000 scanner.py:279(stale_possible_simple_keys)
66764 0.625 0.000 1.547 0.000 scanner.py:295(save_possible_simple_key)
112861 0.266 0.000 0.266 0.000 scanner.py:312(remove_possible_simple_key)
126849 0.125 0.000 0.141 0.000 scanner.py:325(unwind_indent)
10250 0.016 0.000 0.016 0.000 scanner.py:349(add_indent)
3 0.000 0.000 0.000 0.000 scanner.py:359(fetch_stream_start)
3 0.000 0.000 0.000 0.000 scanner.py:371(fetch_stream_end)
60078 0.172 0.000 0.172 0.000 scanner.py:38(__init__)
16391 0.047 0.000 0.844 0.000 scanner.py:424(fetch_flow_sequence_start)
16391 0.266 0.000 0.797 0.000 scanner.py:430(fetch_flow_collection_start)
16391 0.062 0.000 0.734 0.000 scanner.py:447(fetch_flow_sequence_end)
16391 0.156 0.000 0.672 0.000 scanner.py:453(fetch_flow_collection_end)
33437 0.469 0.000 1.172 0.000 scanner.py:470(fetch_flow_entry)
3 0.000 0.000 0.000 0.000 scanner.py:48(__init__)
2951 0.016 0.000 0.094 0.000 scanner.py:484(fetch_block_entry)
7299 0.188 0.000 0.438 0.000 scanner.py:545(fetch_value)
1 0.000 0.000 0.000 0.000 scanner.py:634(fetch_literal)
1 0.000 0.000 0.000 0.000 scanner.py:640(fetch_block_scalar)
1 0.000 0.000 0.000 0.000 scanner.py:654(fetch_double)
1 0.000 0.000 0.000 0.000 scanner.py:657(fetch_flow_scalar)
50372 0.359 0.000 6.984 0.000 scanner.py:668(fetch_plain)
4178 0.016 0.000 0.016 0.000 scanner.py:690(check_document_start)
18 0.000 0.000 0.000 0.000 scanner.py:698(check_document_end)
4178 0.031 0.000 0.031 0.000 scanner.py:706(check_block_entry)
7299 0.031 0.000 0.062 0.000 scanner.py:721(check_value)
50372 0.219 0.000 0.375 0.000 scanner.py:731(check_plain)
126846 1.297 0.000 3.000 0.000 scanner.py:752(scan_to_next_token)
1 0.000 0.000 0.000 0.000 scanner.py:976(scan_block_scalar)
122495 1.688 0.000 7.281 0.000 simpleseg.py:11(seg)
122495 0.719 0.000 2.859 0.000 simpleseg.py:24(simple_seg)
122495 1.094 0.000 1.938 0.000 simpleseg.py:38(_seg)
6 0.000 0.000 0.000 0.000 sre_compile.py:249(_compile_charset)
6 0.031 0.005 0.031 0.005 sre_compile.py:276(_optimize_charset)
3 0.000 0.000 0.000 0.000 sre_compile.py:411(_mk_bitmap)
3 0.000 0.000 0.000 0.000 sre_compile.py:413(<listcomp>)
3 0.000 0.000 0.000 0.000 sre_compile.py:416(_bytes_to_codes)
6 0.000 0.000 0.000 0.000 sre_compile.py:423(_simple)
6 0.000 0.000 0.000 0.000 sre_compile.py:453(_get_iscased)
3 0.000 0.000 0.000 0.000 sre_compile.py:461(_get_literal_prefix)
3 0.000 0.000 0.000 0.000 sre_compile.py:492(_get_charset_prefix)
3 0.000 0.000 0.000 0.000 sre_compile.py:536(_compile_info)
6 0.000 0.000 0.000 0.000 sre_compile.py:595(isstring)
3 0.000 0.000 0.031 0.010 sre_compile.py:598(_code)
29/3 0.000 0.000 0.031 0.010 sre_compile.py:71(_compile)
3 0.000 0.000 0.031 0.010 sre_compile.py:759(compile)
38 0.000 0.000 0.000 0.000 sre_parse.py:111(__init__)
73 0.000 0.000 0.000 0.000 sre_parse.py:160(__len__)
185 0.000 0.000 0.000 0.000 sre_parse.py:164(__getitem__)
15 0.000 0.000 0.000 0.000 sre_parse.py:168(__setitem__)
60 0.000 0.000 0.000 0.000 sre_parse.py:172(append)
29/3 0.000 0.000 0.000 0.000 sre_parse.py:174(getwidth)
3 0.000 0.000 0.000 0.000 sre_parse.py:224(__init__)
169 0.000 0.000 0.000 0.000 sre_parse.py:233(__next)
66 0.000 0.000 0.000 0.000 sre_parse.py:249(match)
94 0.000 0.000 0.000 0.000 sre_parse.py:254(get)
6 0.000 0.000 0.000 0.000 sre_parse.py:258(getwhile)
33 0.000 0.000 0.000 0.000 sre_parse.py:286(tell)
6 0.000 0.000 0.000 0.000 sre_parse.py:295(_class_escape)
6 0.000 0.000 0.000 0.000 sre_parse.py:432(_uniq)
12/3 0.000 0.000 0.000 0.000 sre_parse.py:435(_parse_sub)
27/3 0.000 0.000 0.000 0.000 sre_parse.py:493(_parse)
3 0.000 0.000 0.000 0.000 sre_parse.py:76(__init__)
6 0.000 0.000 0.000 0.000 sre_parse.py:81(groups)
3 0.000 0.000 0.000 0.000 sre_parse.py:921(fix_flags)
3 0.000 0.000 0.000 0.000 sre_parse.py:937(parse)
85001 0.125 0.000 0.125 0.000 tokens.py:3(__init__)
3 0.000 0.000 0.000 0.000 tokens.py:33(__init__)
50374 0.109 0.000 0.109 0.000 tokens.py:98(__init__)
3 0.000 0.000 41.469 13.823 tools.py:12(loadFromPackage)
1 0.000 0.000 0.000 0.000 tools.py:20(checkCompleteness)
1 0.000 0.000 0.000 0.000 tools.py:39(<listcomp>)
1 0.000 0.000 0.000 0.000 tools.py:4(load)
43 0.000 0.000 0.000 0.000 tools.py:42(expand)
18 0.000 0.000 0.000 0.000 tools.py:49(<listcomp>)
22497 0.250 0.000 0.375 0.000 tools.py:61(nextRoot)
55884 0.094 0.000 0.094 0.000 tools.py:81(<listcomp>)
1440 0.000 0.000 0.000 0.000 types.py:171(__get__)
3 0.000 0.000 0.000 0.000 util.py:73(find_spec)
計算模塊部分單元測試展示
部分輸出示例
Tests passed: 10 of 10tests - 54 s 77 ms
計算模塊部分異常處理說明
同音字是中間遇到的最大的問題
通過對應第三方庫以及相應的算法進行了解決
三、心得
Github的使用越發嫻熟
第三方庫的使用也更加得心應手