Simple performance in Python can be measured by the profile module using a command like,
$ python3 -m profile <script.py> {{args to script.py}}
Measuring performance of a simple iteration of Tamil spell checker shows,
python3 -m profile demo.py
u'இன்பம்',
u'ஆப்பம்',
u'இன்னம்',
u'இன்பன்',
u'அற்பம்',
u'அப்பம்',
u'அற்றம்',
u'அற்கம்',
u'அக்கம்',
u'அட்டம்',
u'அம்மம்',
u'அற்பர்',
u'அப்பன்',
u'அப்பர்',
u'அப்பல்',
u'அம்பர்',
u'அம்பல்',
u'அன்னம்',
u'அன்னன்',
u'அன்னல்',
u'அன்பன்',
L = 21
3192524 function calls (2736876 primitive calls) in 32.678 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
39 0.002 0.000 0.022 0.001 :0(__build_class__)
2 0.000 0.000 0.000 0.000 :0(__contains__)
17/4 0.000 0.000 0.144 0.036 :0(__import__)
2 0.000 0.000 0.000 0.000 :0(__new__)
35 0.000 0.000 0.000 0.000 :0(_fix_co_filename)
1 0.000 0.000 0.000 0.000 :0(_getframe)
253 0.001 0.000 0.001 0.000 :0(acquire_lock)
1 0.000 0.000 0.000 0.000 :0(add)
94 0.000 0.000 0.000 0.000 :0(allocate_lock)
44 0.001 0.000 0.002 0.000 :0(any)
519988 2.090 0.000 2.090 0.000 :0(append)
11 0.000 0.000 0.000 0.000 :0(bit_length)
1 0.000 0.000 0.000 0.000 :0(callable)
4 0.000 0.000 0.000 0.000 :0(cast)
197036 0.815 0.000 0.815 0.000 :0(chr)
1 0.000 0.000 0.000 0.000 :0(close)
1 0.000 0.000 0.000 0.000 :0(cmp_to_key)
3 0.000 0.000 0.000 0.000 :0(compile)
1 0.000 0.000 0.000 0.000 :0(create_builtin)
8 0.005 0.001 0.005 0.001 :0(create_dynamic)
1 0.000 0.000 0.000 0.000 :0(dir)
51 0.000 0.000 0.000 0.000 :0(endswith)
37/1 0.001 0.000 32.675 32.675 :0(exec)
1 0.000 0.000 0.000 0.000 :0(exec_builtin)
8 0.000 0.000 0.000 0.000 :0(exec_dynamic)
1 0.000 0.000 0.000 0.000 :0(exp)
32 0.000 0.000 0.001 0.000 :0(extend)
32 0.000 0.000 0.000 0.000 :0(find)
17 0.000 0.000 0.000 0.000 :0(format)
70 0.000 0.000 0.000 0.000 :0(from_bytes)
117 0.001 0.000 0.001 0.000 :0(fspath)
412207 1.985 0.000 1.985 0.000 :0(get)
146 0.001 0.000 0.001 0.000 :0(get_ident)
274 0.001 0.000 0.001 0.000 :0(getattr)
36 0.001 0.000 0.001 0.000 :0(getcwd)
168 0.001 0.000 0.001 0.000 :0(getlower)
14 0.000 0.000 0.000 0.000 :0(globals)
270 0.001 0.000 0.001 0.000 :0(hasattr)
1 0.000 0.000 0.000 0.000 :0(index)
20 0.000 0.000 0.000 0.000 :0(is_builtin)
44 0.000 0.000 0.000 0.000 :0(is_frozen)
6 0.000 0.000 0.000 0.000 :0(isidentifier)
296 0.001 0.000 0.001 0.000 :0(isinstance)
8 0.000 0.000 0.000 0.000 :0(items)
64438 0.311 0.000 0.311 0.000 :0(join)
172718 0.760 0.000 0.760 0.000 :0(keys)
129971/129966 0.664 0.000 0.664 0.000 :0(len)
5 0.001 0.000 0.001 0.000 :0(listdir)
35 0.010 0.000 0.010 0.000 :0(loads)
2 0.000 0.000 0.000 0.000 :0(log)
1 0.000 0.000 0.000 0.000 :0(lookup)
101 0.000 0.000 0.000 0.000 :0(lower)
102 0.000 0.000 0.000 0.000 :0(match)
4 0.000 0.000 0.000 0.000 :0(max)
39 0.000 0.000 0.000 0.000 :0(min)
1 0.000 0.000 0.000 0.000 :0(open)
1 0.000 0.000 0.000 0.000 :0(openssl_md5)
1 0.000 0.000 0.000 0.000 :0(openssl_sha1)
1 0.000 0.000 0.000 0.000 :0(openssl_sha224)
1 0.000 0.000 0.000 0.000 :0(openssl_sha256)
1 0.000 0.000 0.000 0.000 :0(openssl_sha384)
1 0.000 0.000 0.000 0.000 :0(openssl_sha512)
99429 0.397 0.000 0.397 0.000 :0(ord)
172717 0.753 0.000 0.753 0.000 :0(pop)
22 0.001 0.000 0.001 0.000 :0(print)
37 0.002 0.000 0.002 0.000 :0(read)
253 0.001 0.000 0.001 0.000 :0(release_lock)
1 0.000 0.000 0.000 0.000 :0(replace)
1 0.000 0.000 0.000 0.000 :0(repr)
1 0.000 0.000 0.000 0.000 :0(rfind)
354 0.002 0.000 0.002 0.000 :0(rpartition)
977 0.004 0.000 0.004 0.000 :0(rstrip)
1 0.000 0.000 0.000 0.000 :0(seed)
25 0.000 0.000 0.000 0.000 :0(setattr)
2 0.000 0.000 0.000 0.000 :0(setdefault)
1 0.003 0.003 0.003 0.003 :0(setprofile)
2 0.000 0.000 0.000 0.000 :0(sort)
172718 1.104 0.000 1.104 0.000 :0(sorted)
9 0.000 0.000 0.000 0.000 :0(split)
1 0.013 0.013 0.013 0.013 :0(splitlines)
1 0.000 0.000 0.000 0.000 :0(sqrt)
14 0.000 0.000 0.000 0.000 :0(startswith)
187 0.004 0.000 0.004 0.000 :0(stat)
63896 0.314 0.000 0.314 0.000 :0(strip)
4 0.000 0.000 0.000 0.000 :0(tolist)
5 0.000 0.000 0.000 0.000 :0(translate)
1 0.000 0.000 0.000 0.000 :0(union)
4 0.000 0.000 0.000 0.000 :0(update)
1 0.006 0.006 0.006 0.006 :0(utf_8_decode)
73 0.001 0.000 0.001 0.000 <frozen importlib._bootstrap>:103(release)
48 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:143(__init__)
48 0.001 0.000 0.004 0.000 <frozen importlib._bootstrap>:147(__enter__)
48 0.000 0.000 0.001 0.000 <frozen importlib._bootstrap>:151(__exit__)
73 0.001 0.000 0.003 0.000 <frozen importlib._bootstrap>:157(_get_module_lock)
47 0.001 0.000 0.001 0.000 <frozen importlib._bootstrap>:176(cb)
25 0.000 0.000 0.002 0.000 <frozen importlib._bootstrap>:194(_lock_unlock_module)
70/4 0.001 0.000 0.149 0.037 <frozen importlib._bootstrap>:211(_call_with_frames_removed)
488 0.002 0.000 0.002 0.000 <frozen importlib._bootstrap>:222(_verbose_message)
1 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:232(_requires_builtin_wrapper)
44 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:307(__init__)
44 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:311(__enter__)
44 0.001 0.000 0.002 0.000 <frozen importlib._bootstrap>:318(__exit__)
176 0.001 0.000 0.001 0.000 <frozen importlib._bootstrap>:321(<genexpr>)
35 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:35(_new_module)
45 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:369(__init__)
78 0.001 0.000 0.006 0.000 <frozen importlib._bootstrap>:403(cached)
72 0.000 0.000 0.001 0.000 <frozen importlib._bootstrap>:416(parent)
44 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:424(has_location)
1 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:433(spec_from_loader)
44 0.002 0.000 0.010 0.000 <frozen importlib._bootstrap>:504(_init_module_attrs)
44 0.001 0.000 0.018 0.000 <frozen importlib._bootstrap>:564(module_from_spec)
47 0.001 0.000 0.001 0.000 <frozen importlib._bootstrap>:58(__init__)
44/4 0.002 0.000 0.151 0.038 <frozen importlib._bootstrap>:651(_load_unlocked)
45 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:707(find_spec)
1 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:728(create_module)
1 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:736(exec_module)
1 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:753(is_package)
73 0.001 0.000 0.001 0.000 <frozen importlib._bootstrap>:78(acquire)
44 0.000 0.000 0.001 0.000 <frozen importlib._bootstrap>:780(find_spec)
133 0.001 0.000 0.001 0.000 <frozen importlib._bootstrap>:843(__enter__)
133 0.001 0.000 0.001 0.000 <frozen importlib._bootstrap>:847(__exit__)
45 0.002 0.000 0.044 0.001 <frozen importlib._bootstrap>:870(_find_spec)
48/3 0.001 0.000 0.156 0.052 <frozen importlib._bootstrap>:936(_find_and_load_unlocked)
48/3 0.002 0.000 0.156 0.052 <frozen importlib._bootstrap>:966(_find_and_load)
72/24 0.001 0.000 0.139 0.006 <frozen importlib._bootstrap>:997(_handle_fromlist)
5 0.000 0.000 0.001 0.000 <frozen importlib._bootstrap_external>:1067(_path_hooks)
106 0.001 0.000 0.003 0.000 <frozen importlib._bootstrap_external>:1080(_path_importer_cache)
44 0.002 0.000 0.037 0.001 <frozen importlib._bootstrap_external>:1117(_get_spec)
44 0.000 0.000 0.038 0.001 <frozen importlib._bootstrap_external>:1149(find_spec)
5 0.000 0.000 0.001 0.000 <frozen importlib._bootstrap_external>:1196(__init__)
40 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap_external>:1202(<genexpr>)
43 0.001 0.000 0.002 0.000 <frozen importlib._bootstrap_external>:1228(_get_spec)
89 0.007 0.000 0.031 0.000 <frozen importlib._bootstrap_external>:1233(find_spec)
5 0.000 0.000 0.002 0.000 <frozen importlib._bootstrap_external>:1281(_fill_cache)
5 0.000 0.000 0.001 0.000 <frozen importlib._bootstrap_external>:1310(<setcomp>)
5 0.000 0.000 0.001 0.000 <frozen importlib._bootstrap_external>:1322(path_hook_for_FileFinder)
70 0.003 0.000 0.009 0.000 <frozen importlib._bootstrap_external>:263(cache_from_source)
43 0.001 0.000 0.006 0.000 <frozen importlib._bootstrap_external>:361(_get_cached)
89 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap_external>:37(_relax_case)
35 0.000 0.000 0.001 0.000 <frozen importlib._bootstrap_external>:393(_check_name_wrapper)
35 0.001 0.000 0.003 0.000 <frozen importlib._bootstrap_external>:430(_validate_bytecode_header)
35 0.001 0.000 0.011 0.000 <frozen importlib._bootstrap_external>:485(_compile_bytecode)
70 0.000 0.000 0.001 0.000 <frozen importlib._bootstrap_external>:52(_r_long)
43 0.001 0.000 0.001 0.000 <frozen importlib._bootstrap_external>:524(spec_from_file_location)
453 0.005 0.000 0.016 0.000 <frozen importlib._bootstrap_external>:57(_path_join)
453 0.006 0.000 0.009 0.000 <frozen importlib._bootstrap_external>:59(<listcomp>)
70 0.001 0.000 0.002 0.000 <frozen importlib._bootstrap_external>:63(_path_split)
35 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap_external>:669(create_module)
35/4 0.001 0.000 0.149 0.037 <frozen importlib._bootstrap_external>:672(exec_module)
35 0.002 0.000 0.024 0.001 <frozen importlib._bootstrap_external>:743(get_code)
187 0.001 0.000 0.005 0.000 <frozen importlib._bootstrap_external>:75(_path_stat)
35 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap_external>:800(__init__)
35 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap_external>:825(get_filename)
35 0.002 0.000 0.003 0.000 <frozen importlib._bootstrap_external>:830(get_data)
35 0.000 0.000 0.001 0.000 <frozen importlib._bootstrap_external>:840(path_stats)
63 0.001 0.000 0.002 0.000 <frozen importlib._bootstrap_external>:85(_path_is_mode_type)
8 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap_external>:908(__init__)
8 0.000 0.000 0.006 0.001 <frozen importlib._bootstrap_external>:919(create_module)
8 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap_external>:927(exec_module)
58 0.000 0.000 0.002 0.000 <frozen importlib._bootstrap_external>:94(_path_isfile)
5 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap_external>:99(_path_isdir)
1 0.000 0.000 0.000 0.000 <string>:1(<module>)
1 0.000 0.000 0.000 0.000 <string>:5(DictionaryWithPredicate)
1 0.000 0.000 0.000 0.000 TextSummaryExtractor.py:19(SummaryTool)
1 0.000 0.000 0.000 0.000 TextSummaryExtractor.py:3(<module>)
1 0.000 0.000 0.000 0.000 __future__.py:48(<module>)
1 0.000 0.000 0.000 0.000 __future__.py:78(_Feature)
9 0.000 0.000 0.000 0.000 __future__.py:79(__init__)
1 0.000 0.000 0.000 0.000 __init__.py:1(<module>)
1 0.000 0.000 0.004 0.004 __init__.py:3(<module>)
1 0.000 0.000 0.002 0.002 __init__.py:357(namedtuple)
2 0.000 0.000 0.023 0.012 __init__.py:4(<module>)
2 0.000 0.000 0.000 0.000 __init__.py:420(<genexpr>)
2 0.000 0.000 0.000 0.000 __init__.py:422(<genexpr>)
1 0.000 0.000 0.120 0.120 __init__.py:6(<module>)
43 0.000 0.000 0.000 0.000 _compat_pickle.py:165(<genexpr>)
85 0.000 0.000 0.000 0.000 _compat_pickle.py:167(<genexpr>)
1 0.000 0.000 0.001 0.001 _compat_pickle.py:9(<module>)
14 0.000 0.000 0.000 0.000 abc.py:9(abstractmethod)
1 0.000 0.000 0.003 0.003 bisect.py:1(<module>)
1 0.000 0.000 0.000 0.000 codecs.py:347(__init__)
1 0.000 0.000 0.000 0.000 codecs.py:422(__init__)
1 0.000 0.000 0.007 0.007 codecs.py:450(read)
1 0.000 0.000 0.020 0.020 codecs.py:603(readlines)
1 0.000 0.000 0.000 0.000 codecs.py:678(__init__)
1 0.000 0.000 0.020 0.020 codecs.py:704(readlines)
1 0.000 0.000 0.000 0.000 codecs.py:744(__enter__)
1 0.000 0.000 0.000 0.000 codecs.py:747(__exit__)
1 0.000 0.000 0.000 0.000 codecs.py:862(open)
5 0.000 0.000 0.000 0.000 copy.py:66(copy)
1 0.000 0.000 0.000 0.000 datastore.py:115(Node)
172718 1.404 0.000 1.404 0.000 datastore.py:116(__init__)
1 0.000 0.000 0.000 0.000 datastore.py:122(DTrie)
1 0.000 0.000 0.000 0.000 datastore.py:126(__init__)
1 0.000 0.000 0.000 0.000 datastore.py:14(Queue)
222 0.003 0.000 0.058 0.000 datastore.py:140(isWord)
222 0.012 0.000 0.055 0.000 datastore.py:146(isWordAndTrie)
63896 4.643 0.000 18.098 0.000 datastore.py:178(add)
1 0.000 0.000 0.000 0.000 datastore.py:236(getAllWordsIterable)
518546/63897 8.297 0.000 11.944 0.000 datastore.py:239(getAllWordsIterableHelper)
1 0.000 0.000 0.000 0.000 datastore.py:252(RTrie)
1 0.000 0.000 0.000 0.000 datastore.py:285(TamilTrie)
1 0.000 0.000 0.016 0.016 datastore.py:4(<module>)
1 0.000 0.000 0.000 0.000 datastore.py:53(Trie)
1 0.000 0.000 0.000 0.000 datastore.py:56(__init__)
64097 0.641 0.000 8.865 0.000 datastore.py:60(get_letters_impl)
1 0.000 0.000 32.675 32.675 demo.py:5(<module>)
1 0.000 0.000 0.000 0.000 dictionary.py:111(Agarathi)
1 0.000 0.000 0.000 0.000 dictionary.py:112(__init__)
63896 0.657 0.000 18.755 0.000 dictionary.py:139(add)
222 0.002 0.000 0.060 0.000 dictionary.py:145(isWord)
1 0.000 0.000 0.000 0.000 dictionary.py:151(getDictionaryPath)
63897 0.496 0.000 12.440 0.000 dictionary.py:157(getAllWordsIterable)
1 0.000 0.000 0.000 0.000 dictionary.py:16(Dictionary)
1 0.000 0.000 0.000 0.000 dictionary.py:170(EmptyAgarathi)
1 0.000 0.000 0.000 0.000 dictionary.py:174(TamilVU)
1 0.000 0.000 0.000 0.000 dictionary.py:175(__init__)
1 0.000 0.000 0.000 0.000 dictionary.py:178(EnglishLinux)
1 0.000 0.000 0.000 0.000 dictionary.py:189(VatamozhiMonierWilliams)
1 0.000 0.000 0.000 0.000 dictionary.py:193(ParallelDictionary)
1 0.000 0.000 0.000 0.000 dictionary.py:210(Madurai)
1 0.000 0.000 0.000 0.000 dictionary.py:217(Wikipedia)
1 0.000 0.000 0.000 0.000 dictionary.py:225(DictionaryBuilder)
1 0.000 0.000 32.416 32.416 dictionary.py:226(create)
1 0.000 0.000 0.023 0.023 dictionary.py:4(<module>)
1 0.279 0.279 12.719 12.719 dictionary.py:47(getSize)
1 0.608 0.608 19.697 19.697 dictionary.py:58(loadWordFile)
1 0.000 0.000 0.000 0.000 dictionary.py:71(SimpleDictionary)
1 0.000 0.000 0.014 0.014 encode2unicode.py:23(<module>)
1 0.005 0.005 0.005 0.005 encode2utf8.py:24(<module>)
166 0.001 0.000 0.003 0.000 enum.py:265(__call__)
166 0.001 0.000 0.002 0.000 enum.py:515(__new__)
33 0.000 0.000 0.000 0.000 enum.py:592(name)
2 0.000 0.000 0.000 0.000 enum.py:597(value)
2 0.000 0.000 0.001 0.001 enum.py:758(_missing_)
2 0.000 0.000 0.001 0.001 enum.py:765(_create_pseudo_member_)
9 0.000 0.000 0.002 0.000 enum.py:795(__or__)
74 0.001 0.000 0.003 0.000 enum.py:801(__and__)
11 0.000 0.000 0.000 0.000 enum.py:820(_high_bit)
2 0.000 0.000 0.001 0.001 enum.py:837(_decompose)
2 0.000 0.000 0.001 0.000 enum.py:855(<listcomp>)
5 0.000 0.000 0.000 0.000 enum.py:866(<lambda>)
15 0.000 0.000 0.000 0.000 enum.py:872(_power_of_two)
14 0.000 0.000 0.005 0.000 hashlib.py:116(__get_openssl_constructor)
1 0.000 0.000 0.010 0.010 hashlib.py:54(<module>)
8 0.000 0.000 0.004 0.001 hashlib.py:73(__get_builtin_constructor)
1 0.000 0.000 0.000 0.000 ipaconvert.py:24(<module>)
1 0.000 0.000 0.003 0.003 numeral.py:5(<module>)
1 0.000 0.000 0.000 0.000 orddic.py:5(<module>)
1 0.000 0.000 0.005 0.005 pickle.py:181(<listcomp>)
1 0.000 0.000 0.000 0.000 pickle.py:184(_Framer)
1 0.000 0.000 0.000 0.000 pickle.py:220(_Unframer)
1 0.000 0.000 0.013 0.013 pickle.py:24(<module>)
1 0.000 0.000 0.000 0.000 pickle.py:345(_Pickler)
1 0.000 0.000 0.000 0.000 pickle.py:64(PickleError)
1 0.000 0.000 0.000 0.000 pickle.py:68(PicklingError)
1 0.000 0.000 0.000 0.000 pickle.py:75(UnpicklingError)
1 0.000 0.000 0.000 0.000 pickle.py:88(_Stop)
1 0.000 0.000 0.000 0.000 pickle.py:986(_Unpickler)
1 0.000 0.000 0.000 0.000 posixpath.py:102(split)
1 0.000 0.000 0.000 0.000 posixpath.py:329(normpath)
1 0.000 0.000 0.000 0.000 posixpath.py:367(abspath)
2 0.000 0.000 0.000 0.000 posixpath.py:39(_get_sep)
1 0.000 0.000 0.000 0.000 posixpath.py:62(isabs)
1 0.000 0.000 0.000 0.000 pprint.py:35(<module>)
1 0.000 0.000 0.000 0.000 pprint.py:72(_safe_key)
1 0.000 0.000 0.000 0.000 pprint.py:98(PrettyPrinter)
1 0.000 0.000 32.678 32.678 profile:0(<code object <module> at 0x102c77810, file "demo.py", line 5>)
0 0.000 0.000 profile:0(profiler)
1 0.000 0.000 0.000 0.000 qwertykbd.py:9(<module>)
1 0.000 0.000 0.021 0.021 random.py:38(<module>)
1 0.000 0.000 0.000 0.000 random.py:663(SystemRandom)
1 0.000 0.000 0.000 0.000 random.py:71(Random)
1 0.000 0.000 0.000 0.000 random.py:87(__init__)
1 0.000 0.000 0.000 0.000 random.py:96(seed)
102 0.001 0.000 0.004 0.000 re.py:169(match)
2 0.000 0.000 0.020 0.010 re.py:231(compile)
1 0.000 0.000 0.000 0.000 re.py:249(escape)
104 0.001 0.000 0.022 0.000 re.py:286(_compile)
1 0.000 0.000 0.000 0.000 regexp.py:5(<module>)
1 0.000 0.000 0.000 0.000 resources.py:10(<listcomp>)
1 0.000 0.000 0.000 0.000 resources.py:13(get_data_dir)
1 0.000 0.000 0.000 0.000 resources.py:17(get_data_dictionaries)
1 0.000 0.000 0.000 0.000 resources.py:28(get_data_categories)
14 0.000 0.000 0.000 0.000 resources.py:42(mk_path)
1 0.000 0.000 0.001 0.001 resources.py:5(<module>)
1 0.000 0.000 0.000 0.000 resources.py:9(_make_dict_with_path)
1 0.000 0.000 0.000 0.000 santhirules.py:4(<module>)
164 0.001 0.000 0.002 0.000 sre_compile.py:102(fixup)
8 0.000 0.000 0.005 0.001 sre_compile.py:223(_compile_charset)
8 0.002 0.000 0.005 0.001 sre_compile.py:250(_optimize_charset)
5 0.000 0.000 0.000 0.000 sre_compile.py:376(_mk_bitmap)
5 0.000 0.000 0.000 0.000 sre_compile.py:378(<listcomp>)
4 0.000 0.000 0.000 0.000 sre_compile.py:381(_bytes_to_codes)
4 0.000 0.000 0.000 0.000 sre_compile.py:388(_simple)
2 0.000 0.000 0.000 0.000 sre_compile.py:414(_get_literal_prefix)
2 0.000 0.000 0.000 0.000 sre_compile.py:441(_get_charset_prefix)
3 0.000 0.000 0.001 0.000 sre_compile.py:482(_compile_info)
6 0.000 0.000 0.000 0.000 sre_compile.py:539(isstring)
3 0.000 0.000 0.012 0.004 sre_compile.py:542(_code)
3 0.000 0.000 0.022 0.007 sre_compile.py:557(compile)
16/3 0.001 0.000 0.011 0.004 sre_compile.py:64(_compile)
16 0.000 0.000 0.000 0.000 sre_parse.py:111(__init__)
15 0.000 0.000 0.000 0.000 sre_parse.py:159(__len__)
48 0.000 0.000 0.001 0.000 sre_parse.py:163(__getitem__)
4 0.000 0.000 0.000 0.000 sre_parse.py:167(__setitem__)
18 0.000 0.000 0.000 0.000 sre_parse.py:171(append)
24/11 0.000 0.000 0.001 0.000 sre_parse.py:173(getwidth)
3 0.000 0.000 0.000 0.000 sre_parse.py:223(__init__)
329 0.001 0.000 0.001 0.000 sre_parse.py:232(__next)
51 0.000 0.000 0.000 0.000 sre_parse.py:248(match)
270 0.002 0.000 0.003 0.000 sre_parse.py:253(get)
4 0.000 0.000 0.000 0.000 sre_parse.py:266(getuntil)
24 0.000 0.000 0.000 0.000 sre_parse.py:285(tell)
1 0.000 0.000 0.000 0.000 sre_parse.py:287(seek)
3 0.000 0.000 0.000 0.000 sre_parse.py:342(_escape)
8/3 0.000 0.000 0.009 0.003 sre_parse.py:407(_parse_sub)
11/3 0.002 0.000 0.009 0.003 sre_parse.py:470(_parse)
3 0.000 0.000 0.000 0.000 sre_parse.py:76(__init__)
14 0.000 0.000 0.000 0.000 sre_parse.py:81(groups)
3 0.000 0.000 0.001 0.000 sre_parse.py:828(fix_flags)
4 0.000 0.000 0.000 0.000 sre_parse.py:84(opengroup)
3 0.000 0.000 0.010 0.003 sre_parse.py:844(parse)
4 0.000 0.000 0.000 0.000 sre_parse.py:96(closegroup)
1 0.000 0.000 0.021 0.021 string.py:15(<module>)
1 0.000 0.000 0.000 0.000 string.py:169(Formatter)
1 0.000 0.000 0.000 0.000 string.py:55(_TemplateMetaclass)
1 0.000 0.000 0.020 0.020 string.py:65(__init__)
1 0.000 0.000 0.000 0.000 string.py:77(Template)
1 0.001 0.001 0.002 0.002 tace16.py:358(<listcomp>)
1 0.000 0.000 0.002 0.002 tace16.py:4(<module>)
1 0.000 0.000 0.000 0.000 tamil99kbd.py:11(<module>)
1 0.000 0.000 0.000 0.000 transliteration.py:23(<module>)
1 0.001 0.001 0.002 0.002 tscii.py:13(<module>)
256 0.001 0.000 0.001 0.000 tscii.py:16(<lambda>)
1 0.000 0.000 0.000 0.000 tweetparser.py:12(TweetParser)
1 0.000 0.000 0.000 0.000 tweetparser.py:60(TamilTweetParser)
1 0.000 0.000 0.004 0.004 tweetparser.py:9(<module>)
35 0.000 0.000 0.000 0.000 types.py:135(__get__)
1 0.000 0.000 0.147 0.147 typographical.py:14(<module>)
632/1 0.026 0.000 0.041 0.041 typographical.py:20(oridam_generate_patterns)
1 0.001 0.001 0.102 0.102 typographical.py:50(corrections)
1 0.000 0.000 0.000 0.000 unicode2encode.py:25(<module>)
1 0.000 0.000 0.003 0.003 unicode2ipa.py:23(<module>)
1 0.003 0.003 0.031 0.031 utf8.py:11(<module>)
1 0.000 0.000 0.000 0.000 utf8.py:159(<listcomp>)
288 0.001 0.000 0.001 0.000 utf8.py:234(uyir_len)
288 0.001 0.000 0.001 0.000 utf8.py:237(mei_len)
288 0.003 0.000 0.005 0.000 utf8.py:274(uyirmei_constructed)
98518 1.125 0.000 1.940 0.000 utf8.py:303(<lambda>)
4 0.000 0.000 0.000 0.000 utf8.py:384(_make_set)
64097 4.222 0.000 8.224 0.000 utf8.py:393(get_letters)
1 0.000 0.000 0.000 0.000 utf8.py:758(CacheGetLettersMixin)
1 0.000 0.000 0.000 0.000 utf8.py:760(__init__)
64118 0.895 0.000 10.059 0.000 utf8.py:767(get_letters)
1 0.000 0.000 0.000 0.000 wordutils.py:310(DictionaryFixedWordList)
1 0.000 0.000 0.029 0.029 wordutils.py:4(<module>)
Basically, this confirms solthiruthi, and similar search based spellers, as a computational problem for Tamil spell checkers claimed in our paper. Performance is all it takes to make the results better, more accurate and faster.