performance of python code on the NanoNote
Alan Post
alanpost at sunflowerriver.org
Tue Sep 14 13:23:54 EDT 2010
I forgot to attach the profile.
-Alan
On Tue, Sep 14, 2010 at 11:17:22AM -0600, Alan Post wrote:
> I've been testing the makfa package. The code is running very
> slowly, taking many seconds to return a simple result. It is
> too slow for me to use as is.
>
> Since it is a python application, I am able to use the python
> profiler to immediately see what is going on:
>
> python -m cProfile -s time /usr/bin/makfa console > makfa.profile
> <<EOF
> tricu
> makfa
> EOF
>
> I've attached the profile, but I'll summarize it here:
>
> * I read the entire database off disk, which takes 13 seconds.
> * Several other routines, all containing regular expressions,
> take another 13 seconds to burn through the data after I've
> read the database.
>
> Both of these problems are something that I can correct. I can
> convert the pickle file to a sql database, and I can reword or
> precompile the regular expressions. I could remove some of the
> whole-table searching the application performs to reduce the number
> of calls to these routines. None of these things have been done
> because the application runs fast enough on a desktop machine.
>
> I'd like to ask a question to those of you with more experience
> developing on embedded systems with small memory and slow CPUs:
>
> The fact that this application was written in Python means I got
> profiling information the moment I discovered there was a problem.
> I could look at the code right away and begin to see how I could
> fix it. I'm really pleased at how quickly I was able to figure
> out what was going on.
>
> I could fix all of this and still find that I'm not happy with the
> performance. I've never tried optimizing python and I'm not sure
> it will run fast enough for me.
>
> I'd love to know that I could use this kind of rapid prototype
> environment (python) and get acceptable performance. Can I?
> Will you share your experiences working with interpreted languages
> in an embedded environment?
>
> -Alan
> --
> .i ko djuno fi le do sevzi
--
.i ko djuno fi le do sevzi
-------------- next part --------------
?- bambu : experimental gismu
: x1 is a bamboo (Bambuseae) of genus/species x2.
: (x1) "bamboo"
: Cf. {spati}, {tricu}.
jglandi : fu'ivla
: x1 is a walnut of species x2.
: (x1) "walnut"
: see also {nargu}, {tricu}
ze'erpezytricu : lujvo
: x1 is an evergreen tree of species/variety x2.
: (x1) "evergreen", "evergreen tree"
: see also {pezyfaltricu}, {ckunu}
ricyzda : lujvo
: z1 is a treehouse of/for z2 on tree t1 of
species t2.
: (x1) "treehouse"
: Cf. {tricu}, {zdani}.
ricygundi : lujvo
: g1 is a/the forest products industry/sector
producing forest products g2 from tree species
t2 by process g3
: (x1) "forest industry", "forestry sector"
: From {tricu}, {gundi}. Omit f1.
pezyfaltricu : lujvo
: t1 is a deciduous tree of species t2.
: (x1) "deciduous", "deciduous tree"
: Cf. {ze'erpezytricu}.
mudypu'o : lujvo
: p1=m1 is sawdust of wood type p2=m2.
: (x1) "sawdust"
: Cf. {cmamudyspi}, {tricu}.
dzitricu : lujvo
: t1=d1 is a shrub/bush of species t2.
: Cf. {demspa}, {cmatricu}.
demspa : lujvo
: d1=s1 is a bush of species/strain/cultivar s2.
: (x1) "bush", "shrub"
: Cf. {dzitricu}.
cmatricu : lujvo
: t1 is a brush/bushy vegetation of species/type
t2.
: Cf. {cicyspafoi}, {tricu}, {dzitricu},
{demspa}.
cmamudyspi : lujvo
: s1=m1=c1 is a woodchip/splinter of wood type
m2, small as compared with standard/norm c3.
: (x1) "splinter" in the sense of "wood",
"woodchip"
: Cf. {tricu}, {mudypu'o}.
spati : gismu -spa-
: x1 is a plant/herb/greenery of
species/strain/cultivar x2.
: (x1) "plant"
: Also (adjective:) x1 is
vegetable/vegetal/vegetative. See also
{genja}, {grute}, {gurni}, {latna}, {rozgu},
{stagi}, {tricu}, {tsiju}, {tujli}, {xruba},
{xrula}, {pezli}, {srasu}.
pezli : gismu -pez-
: x1 is a leaf of plant x2; x1 is foliage of x2.
: (x1) "leaf"
: See also {tricu}, {papri}, {spati}.
mudri : gismu -mud-
: x1 is a quantity of/is made of/contains
wood/lumber from tree(s) of type/species x2.
: (x1) "wood" in the sense of "the material"
: See also {tricu}, {stani}.
korka : gismu -kok-
: x1 is a quantity of/contains/is made of
cork/bark from tree/species x2; [material].
: (x1) "cork"
: See also {tricu}, {calku}, {skapi}, {stagi}.
ckunu : gismu -ku'u-
: x1 is a conifer/pine/fir of species/strain x2
with cones x3.
: (x1) "conifer"
: See also {tricu}.
cindu : gismu
: x1 is an oak, a type of tree of species/strain
x2.
: (x1) "oak"
: See also {tricu}.
tricu : gismu -ric-
: x1 is a tree of species/cultivar x2.
: (x1) "tree" in the sense of "plant"
: See also {cindu}, {ckunu}, {pezli}, {mudri},
{spati}.
?- terfarnilfrica : lujvo
: x1 is the difference between frame of reference
x2 and frame of reference x3.
: (x1) "variation" in the sense of "magnetic"
: magnetic variation is the difference between
the magnetic reference frame and the rotational
reference frame; see {makfartci}
menmuvgau : lujvo
: g1=me1 telekinetically / with its mind moves
mu1 to destination/receiver mu2 [away] from
origin mu3 over path/route mu4
: (x1) "telekinesis", "telekinetic" in the sense
of "person", "telekinetically"
: Made from {menli}+{muvgau}. {menli}2 dropped
on account of irrelevancy. See also {gasnu},
{klama}, {litru}, {makfa}, {menli}, {muvdu}.
malmakfa : lujvo
: mak1 is black magic to mak2, performed by
person/force/deity mak3.
: (x1) "black magic"
: (x3) "evil sorcerer"
: Cf. {mabla}, {makfa}, {lijda}, {palci}
mafcre : lujvo
: c1=m3 is a wizard/sorcerer of m1=c1, which is
magical to m2, with standard of sorcery c3.
: (x1) "wizard", "sorcerer"
: (x2) "sorcery"
: Cf. {makfa}, {certu}
cukyxratci : lujvo
: x1 is a compass for drawing circles x2.
: (x1) "compass" in the sense of "draw circles"
: Cf. {makfartci}, {caltaicmaci}.
cesri'a : lujvo
: r1 blesses/sanctifies c1 in the name of
person/people/culture/religion/cult/group c2
under conditions r3.
: (x1) "bless", "sanctify"
: Cf. {ruxyzau}, {dapma}, {lijda}, {cevni},
{makfa}, {xamgu}, {vrude}.
manci : gismu -mac-
: x1 feels wonder/awe/marvels about x2.
: (x1) "wonder" in the sense of "feeling awe"
: See also {cinmo}, {makfa}, {kucli}, {spaji},
{cinri}, {banli}, {sisku}.
krici : gismu -kri-
: x1 believes [regardless of evidence/proof]
belief/creed x2 (du'u) is true/assumed about
subject x3.
: (x1) "believer", "believe", "faith" in the
sense of "to have faith"
: "without evidence" refers to objective external
evidence; also gives credence, has conviction.
See also {censa}, {cevni}, {lijda}, {makfa},
{malsi}, {senpi}, {birti}.
makfa : gismu -maf-
: x1 is
magic/supernatural/sorcery/witchcraft/wizardry
to x2, performed by person/force/deity x3.
: (x1) "magic"
: See also {krici}, {manci}.
?-
% halt
464164 function calls (464110 primitive calls) in 58.813 CPU seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
1 12.881 12.881 12.881 12.881 {cPickle.load}
11772 3.689 0.000 10.859 0.001 makfa:582(rafsi)
11772 3.442 0.000 10.314 0.001 makfa:594(selmaho)
23652 3.337 0.000 3.337 0.000 {built-in method split}
26 3.309 0.127 43.534 1.674 makfa:550(f)
23618 3.207 0.000 3.223 0.000 {method 'encode' of 'str' objects}
23544 2.834 0.000 2.834 0.000 {built-in method search}
23882 2.629 0.000 3.626 0.000 re.py:229(_compile)
11772 2.465 0.000 4.845 0.000 makfa:568(gloss)
51102 2.381 0.000 2.381 0.000 {isinstance}
23544 2.154 0.000 8.818 0.000 re.py:164(split)
59130 2.089 0.000 2.089 0.000 makfa:644(__getitem__)
11826 1.549 0.000 3.532 0.000 makfa:632(notes)
11799 1.441 0.000 3.512 0.000 makfa:626(definition)
11772 1.352 0.000 6.228 0.001 makfa:578(notes)
11772 1.310 0.000 6.286 0.001 makfa:564(definition)
11826 1.126 0.000 1.554 0.000 makfa:638(selmaho)
11799 1.069 0.000 1.497 0.000 makfa:635(rafsi)
11853 1.004 0.000 1.404 0.000 makfa:629(glosses)
11772 0.864 0.000 1.678 0.000 makfa:609(valsi)
23582 0.796 0.000 0.796 0.000 {method 'replace' of 'str' objects}
23953 0.793 0.000 0.793 0.000 {method 'get' of 'dict' objects}
11772 0.344 0.000 0.344 0.000 {method 'values' of 'dict' objects}
23544 0.336 0.000 0.336 0.000 {method 'upper' of 'str' objects}
1 0.294 0.294 58.816 58.816 {execfile}
1 0.157 0.157 57.719 57.719 makfa:655(main)
1 0.155 0.155 44.611 44.611 makfa:400(parse)
13613/13601 0.154 0.000 0.154 0.000 {len}
108 0.114 0.001 0.165 0.002 textwrap.py:235(_wrap_chunks)
2 0.099 0.050 0.852 0.426 makfa:267(parse)
1 0.088 0.088 58.522 58.522 makfa:3(<module>)
1 0.066 0.066 0.222 0.222 subprocess.py:377(<module>)
1 0.065 0.065 0.481 0.481 urllib.py:23(<module>)
30/17 0.062 0.002 0.065 0.004 sre_parse.py:146(getwidth)
3 0.055 0.018 0.055 0.018 {map}
108 0.054 0.001 0.572 0.005 makfa:246(_wrap)
2 0.046 0.023 0.061 0.031 collections.py:13(namedtuple)
257 0.043 0.000 0.052 0.000 urlparse.py:274(<genexpr>)
257 0.043 0.000 0.052 0.000 urllib.py:1166(<genexpr>)
257 0.043 0.000 0.051 0.000 urlparse.py:275(<genexpr>)
1 0.042 0.042 0.044 0.044 socket.py:174(_socketobject)
257 0.042 0.000 0.051 0.000 urllib.py:1167(<genexpr>)
108 0.039 0.000 0.171 0.002 textwrap.py:107(__init__)
1 0.037 0.037 0.155 0.155 pickle.py:25(<module>)
1024 0.036 0.000 0.036 0.000 {chr}
6 0.030 0.005 0.037 0.006 makfa:175(ioctl_GWINSZ)
108 0.028 0.000 0.512 0.005 textwrap.py:335(wrap)
1 0.027 0.027 0.222 0.222 urlparse.py:5(<module>)
27 0.027 0.001 0.706 0.026 makfa:380(output)
1206 0.027 0.000 0.027 0.000 {method 'pop' of 'list' objects}
1 0.026 0.026 0.077 0.077 socket.py:44(<module>)
14/7 0.026 0.002 0.068 0.010 sre_parse.py:385(_parse)
108 0.022 0.000 0.312 0.003 textwrap.py:308(wrap)
1740 0.022 0.000 0.022 0.000 {method 'append' of 'list' objects}
108 0.022 0.000 0.594 0.005 makfa:201(write)
2 0.021 0.010 0.123 0.062 {method 'update' of 'dict' objects}
1 0.018 0.018 0.019 0.019 collections.py:1(<module>)
108 0.017 0.000 0.103 0.001 textwrap.py:155(_split)
24/7 0.017 0.001 0.051 0.007 sre_compile.py:38(_compile)
137 0.015 0.000 0.017 0.000 sre_parse.py:188(__next)
108 0.015 0.000 0.022 0.000 textwrap.py:138(_munge_whitespace)
233 0.014 0.000 0.018 0.000 {method 'join' of 'str' objects}
27 0.014 0.001 0.024 0.001 makfa:212(glosses)
14 0.012 0.001 0.020 0.001 sre_compile.py:213(_optimize_charset)
118 0.012 0.000 0.012 0.000 {built-in method match}
220 0.012 0.000 0.146 0.001 re.py:188(compile)
118 0.011 0.000 0.115 0.001 re.py:134(match)
148 0.010 0.000 0.010 0.000 {filter}
2 0.008 0.004 0.008 0.004 makfa:535(__init__)
4 0.007 0.002 0.007 0.002 {max}
85 0.007 0.000 0.012 0.000 sre_parse.py:136(__getitem__)
1 0.007 0.007 0.014 0.014 {__import__}
1 0.007 0.007 0.007 0.007 utf_8.py:8(<module>)
13 0.007 0.001 0.027 0.002 optparse.py:560(__init__)
13 0.007 0.001 0.035 0.003 optparse.py:1007(add_option)
6 0.007 0.001 0.007 0.001 {fcntl.ioctl}
13 0.006 0.000 0.010 0.001 optparse.py:609(_set_attrs)
103 0.006 0.000 0.018 0.000 sre_parse.py:207(get)
1 0.006 0.006 0.006 0.006 {open}
3 0.005 0.002 0.006 0.002 sre_compile.py:264(_mk_bitmap)
2 0.005 0.003 0.005 0.003 makfa:540(inclusive)
14 0.005 0.000 0.025 0.002 sre_compile.py:184(_compile_charset)
27 0.004 0.000 0.016 0.001 makfa:220(rafsi)
13 0.004 0.000 0.005 0.000 optparse.py:588(_set_opt_strings)
12/7 0.004 0.000 0.070 0.010 sre_parse.py:307(_parse_sub)
34 0.004 0.000 0.004 0.000 {method 'encode' of 'unicode' objects}
99 0.004 0.000 0.004 0.000 collections.py:43(<genexpr>)
7 0.004 0.001 0.071 0.010 sre_compile.py:367(_compile_info)
5 0.004 0.001 0.008 0.002 optparse.py:1313(get_default_values)
176 0.004 0.000 0.004 0.000 {setattr}
108 0.004 0.000 0.004 0.000 {method 'expandtabs' of 'str' objects}
1 0.004 0.004 0.006 0.006 os.py:35(_get_exports_list)
83 0.003 0.000 0.007 0.000 sre_parse.py:201(match)
2 0.003 0.002 43.557 21.779 makfa:338(results)
7 0.003 0.000 0.204 0.029 sre_compile.py:501(compile)
5 0.003 0.001 0.004 0.001 optparse.py:1414(_process_args)
2 0.003 0.002 0.003 0.002 {dir}
7 0.003 0.000 0.076 0.011 sre_parse.py:669(parse)
1 0.003 0.003 0.003 0.003 ssl.py:56(<module>)
42 0.003 0.000 0.004 0.000 makfa:647(__iter__)
47 0.003 0.000 0.003 0.000 {min}
294 0.003 0.000 0.003 0.000 {method 'strip' of 'str' objects}
27 0.003 0.000 0.004 0.000 makfa:641(type)
109 0.002 0.000 0.002 0.000 {method 'translate' of 'str' objects}
3 0.002 0.001 0.004 0.001 gettext.py:130(_expand_lang)
5 0.002 0.000 0.014 0.003 optparse.py:1362(parse_args)
12 0.002 0.000 0.002 0.000 sre_parse.py:231(_class_escape)
3 0.002 0.001 0.007 0.002 gettext.py:421(find)
3 0.002 0.001 0.026 0.009 optparse.py:1185(__init__)
13 0.002 0.000 0.002 0.000 collections.py:61(<genexpr>)
9 0.002 0.000 0.004 0.000 sre_compile.py:360(_simple)
3 0.002 0.001 0.003 0.001 optparse.py:200(__init__)
44 0.002 0.000 0.002 0.000 sre_parse.py:132(__len__)
27 0.002 0.000 0.006 0.000 makfa:223(refgrams)
32 0.002 0.000 0.002 0.000 sre_parse.py:144(append)
1 0.002 0.002 0.037 0.037 makfa:313(__init__)
27 0.002 0.000 0.005 0.000 makfa:233(selmaho)
18 0.001 0.000 0.001 0.000 {range}
36 0.001 0.000 0.001 0.000 makfa:221(<genexpr>)
7 0.001 0.000 0.124 0.018 sre_compile.py:486(_code)
13 0.001 0.000 0.001 0.000 optparse.py:980(_check_conflict)
24 0.001 0.000 0.001 0.000 sre_parse.py:96(__init__)
13 0.001 0.000 0.006 0.000 {all}
1 0.001 0.001 0.001 0.001 pickle.py:827(Unpickler)
2 0.001 0.001 0.038 0.019 makfa:172(get_terminal_size)
1 0.001 0.001 12.950 12.950 makfa:618(__init__)
1 0.001 0.001 0.002 0.002 <string>:1(<module>)
42 0.001 0.000 0.001 0.000 {iter}
12 0.001 0.000 0.001 0.000 UserDict.py:57(get)
3 0.001 0.000 0.009 0.003 gettext.py:527(dgettext)
1 0.001 0.001 0.016 0.016 __init__.py:71(search_function)
25 0.001 0.000 0.002 0.000 optparse.py:832(isbasestring)
14 0.001 0.000 0.001 0.000 sre_compile.py:480(isstring)
3 0.001 0.000 0.002 0.001 optparse.py:932(__init__)
5 0.001 0.000 0.001 0.000 optparse.py:837(__init__)
3 0.001 0.000 0.001 0.000 locale.py:316(normalize)
113 0.001 0.000 0.001 0.000 {method 'reverse' of 'list' objects}
3 0.001 0.000 0.004 0.001 optparse.py:365(__init__)
13 0.001 0.000 0.001 0.000 optparse.py:678(_check_dest)
1 0.001 0.001 0.001 0.001 makfa:533(Filter)
1 0.001 0.001 0.001 0.001 <string>:1(ParseResult)
3 0.001 0.000 0.001 0.000 {raw_input}
3 0.001 0.000 0.008 0.003 gettext.py:461(translation)
13 0.001 0.000 0.001 0.000 optparse.py:635(_check_type)
1 0.001 0.001 0.001 0.001 pickle.py:171(Pickler)
13 0.001 0.000 0.001 0.000 optparse.py:579(_check_opt_strings)
6 0.001 0.000 0.001 0.000 {hasattr}
7 0.001 0.000 0.002 0.000 sre_parse.py:184(__init__)
1 0.001 0.001 0.001 0.001 traceback.py:1(<module>)
13 0.001 0.000 0.001 0.000 optparse.py:699(_check_nargs)
1 0.001 0.001 0.001 0.001 <string>:1(SplitResult)
3 0.001 0.000 0.018 0.006 optparse.py:1242(_add_help_option)
7 0.001 0.000 0.001 0.000 {_sre.compile}
13 0.001 0.000 0.001 0.000 optparse.py:629(_check_action)
13 0.001 0.000 0.001 0.000 optparse.py:693(_check_const)
13 0.001 0.000 0.001 0.000 optparse.py:665(_check_choice)
13 0.000 0.000 0.000 0.000 collections.py:60(<genexpr>)
13 0.000 0.000 0.000 0.000 optparse.py:708(_check_callback)
86 0.000 0.000 0.000 0.000 {method 'isalnum' of 'str' objects}
3 0.000 0.000 0.001 0.000 UserDict.py:17(__getitem__)
41 0.000 0.000 0.000 0.000 sre_compile.py:24(_identityfunction)
15 0.000 0.000 0.000 0.000 {method 'startswith' of 'str' objects}
5 0.000 0.000 0.000 0.000 optparse.py:1307(_get_all_options)
3 0.000 0.000 0.001 0.000 optparse.py:1271(set_usage)
7 0.000 0.000 0.000 0.000 sre_parse.py:73(__init__)
3 0.000 0.000 0.009 0.003 gettext.py:565(gettext)
1 0.000 0.000 0.000 0.000 urlparse.py:43(ResultMixin)
1 0.000 0.000 0.000 0.000 codecs.py:77(__new__)
5 0.000 0.000 0.000 0.000 sre_parse.py:263(_escape)
14 0.000 0.000 0.000 0.000 UserDict.py:69(__contains__)
2 0.000 0.000 0.000 0.000 {repr}
2 0.000 0.000 0.038 0.019 makfa:195(__init__)
1 0.000 0.000 0.000 0.000 socket.py:224(_fileobject)
43 0.000 0.000 0.000 0.000 {ord}
10 0.000 0.000 0.000 0.000 {_sre.getlower}
9 0.000 0.000 0.000 0.000 sre_parse.py:140(__setitem__)
1 0.000 0.000 0.000 0.000 keyword.py:11(<module>)
1 0.000 0.000 0.000 0.000 urllib.py:114(URLopener)
1 0.000 0.000 0.008 0.008 makfa:376(__init__)
1 0.000 0.000 0.010 0.010 makfa:396(__init__)
3 0.000 0.000 0.000 0.000 optparse.py:1237(_create_option_list)
1 0.000 0.000 0.001 0.001 utf_8.py:33(getregentry)
1 0.000 0.000 0.000 0.000 __init__.py:49(normalize_encoding)
5 0.000 0.000 0.000 0.000 optparse.py:1356(_get_args)
7 0.000 0.000 0.000 0.000 makfa:549(pattern)
5 0.000 0.000 0.000 0.000 {method 'split' of 'str' objects}
5 0.000 0.000 0.000 0.000 {method 'extend' of 'list' objects}
1 0.000 0.000 0.000 0.000 urllib.py:614(FancyURLopener)
2 0.000 0.000 0.000 0.000 {_struct.unpack}
1 0.000 0.000 0.000 0.000 subprocess.py:560(Popen)
2 0.000 0.000 0.000 0.000 {locals}
3 0.000 0.000 0.018 0.006 optparse.py:1252(_populate_option_list)
2 0.000 0.000 0.000 0.000 sre_parse.py:89(closegroup)
9 0.000 0.000 0.000 0.000 {method 'find' of 'str' objects}
5 0.000 0.000 0.000 0.000 {method 'copy' of 'dict' objects}
9 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects}
2 0.000 0.000 0.000 0.000 sre_parse.py:78(opengroup)
13 0.000 0.000 0.000 0.000 {method '__contains__' of 'frozenset' objects}
3 0.000 0.000 0.000 0.000 optparse.py:959(set_conflict_handler)
1 0.000 0.000 0.000 0.000 makfa:193(Formatter)
11 0.000 0.000 0.000 0.000 {method 'add' of 'set' objects}
1 0.000 0.000 0.000 0.000 urllib.py:844(ftpwrapper)
3 0.000 0.000 0.000 0.000 optparse.py:943(_create_option_mappings)
7 0.000 0.000 0.000 0.000 {method 'lower' of 'str' objects}
1 0.000 0.000 0.000 0.000 makfa:616(Dictionary)
1 0.000 0.000 0.000 0.000 urllib.py:976(addinfourl)
3 0.000 0.000 0.000 0.000 optparse.py:1262(_init_parsing_state)
5 0.000 0.000 0.000 0.000 optparse.py:1401(check_values)
1 0.000 0.000 0.000 0.000 socket.py:162(_closedsocket)
2 0.000 0.000 0.000 0.000 makfa:545(exclusive)
13 0.000 0.000 0.000 0.000 {method 'isdigit' of 'str' objects}
3 0.000 0.000 0.000 0.000 optparse.py:964(set_description)
3 0.000 0.000 0.000 0.000 optparse.py:224(set_parser)
1 0.000 0.000 0.000 0.000 utf_8.py:18(IncrementalEncoder)
1 0.000 0.000 0.000 0.000 {built-in method __new__ of type object at 0x53b3c0}
2 0.000 0.000 0.000 0.000 {sys._getframe}
1 0.000 0.000 0.000 0.000 makfa:485(Updater)
1 0.000 0.000 0.000 0.000 makfa:258(Command)
1 0.000 0.000 0.000 0.000 makfa:466(Selmaho)
1 0.000 0.000 0.000 0.000 urllib.py:922(addbase)
1 0.000 0.000 0.000 0.000 makfa:310(Find)
1 0.000 0.000 0.000 0.000 makfa:373(Show)
1 0.000 0.000 0.000 0.000 subprocess.py:389(CalledProcessError)
1 0.000 0.000 0.000 0.000 makfa:421(Gloss)
1 0.000 0.000 0.000 0.000 makfa:393(Console)
1 0.000 0.000 0.000 0.000 makfa:294(Update)
1 0.000 0.000 0.000 0.000 utf_8.py:22(IncrementalDecoder)
1 0.000 0.000 0.000 0.000 {posix.sysconf}
1 0.000 0.000 0.000 0.000 urllib.py:951(addclosehook)
2 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects}
1 0.000 0.000 0.000 0.000 urllib.py:966(addinfo)
1 0.000 0.000 0.000 0.000 makfa:444(Rafsi)
1 0.000 0.000 0.000 0.000 utf_8.py:25(StreamWriter)
1 0.000 0.000 0.000 0.000 makfa:454(References)
1 0.000 0.000 0.000 0.000 urllib.py:108(ContentTooShortError)
1 0.000 0.000 0.000 0.000 pickle.py:82(_Stop)
1 0.000 0.000 0.000 0.000 utf_8.py:28(StreamReader)
1 0.000 0.000 0.000 0.000 urlparse.py:94(ParseResult)
1 0.000 0.000 0.000 0.000 urlparse.py:86(SplitResult)
1 0.000 0.000 0.000 0.000 makfa:440(Notes)
1 0.000 0.000 0.000 0.000 makfa:417(Definition)
1 0.000 0.000 0.000 0.000 pickle.py:58(PickleError)
1 0.000 0.000 0.000 0.000 pickle.py:1253(_EmptyClass)
1 0.000 0.000 0.000 0.000 makfa:477(Type)
1 0.000 0.000 0.000 0.000 pickle.py:69(UnpicklingError)
1 0.000 0.000 0.000 0.000 sre_parse.py:211(tell)
1 0.000 0.000 0.000 0.000 pickle.py:62(PicklingError)
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
More information about the discussion
mailing list