Re: [StGIT PATCH] Don't use patches/<branch>/current

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16/05/07, Karl Hasselström <kha@xxxxxxxxxxx> wrote:
On 2007-05-15 21:01:43 +0100, Catalin Marinas wrote:

> What is the impact on the bash completion for calling StGIT rather
> than reading those files? Is it visible?

Yes, it's visible, but not annoying (to me anyway). The overhead is
akin to the overhead we used to have when "stg help" generated the
command names -- on the order of 100-200 ms, when StGIT is in the
cache. The expensive part is to start stgit; the git calls are cheap.
So theoretically the completion script could duplicate the logic in
StGIT and avoid most of the overhead, if someone wanted it badly
enough.

I did a quick test of 'stg series' with the DAG patches applied, on a
Linux kernel repository ('du -sh .git' is 285M) with 42 patches (only
25 applied). It constantly takes over 2 seconds to complete (compared
to < 200ms without the DAG patches). The problem is that this delay
will happen for bash completion as well.

It seems that most of the time is spent in git._output_lines() called
from stack.read_refs() (for git-show-ref). I attach the profiling
output generated by stg-prof.

--
Catalin
+ cross-arm
+ init-err
+ ll-printk
+ compressed-head-stack
+ armv7-uncompress
+ armv7-tlb
+ armv7-xenon
+ armv7-vfpv3
+ armv7-neon
+ armv7-thumb2-user
+ pb926-pci-io
+ mpcore-smsc911x
+ smsc911x-driver
+ realview-eb-pci-mem
+ realview-eb-pci-io
+ nommu-consistent-api
+ nommu-fault
+ nommu-page-tlb
+ nommu-context-id
+ nommu-integrator
+ nommu-realview-eb
+ nommu-kconfig
+ nommu-ptrace
+ nommu-armv6
> nommu-armv7
- per-cpu-asids
- arch-dsb-mmiowb
- t2-arch-arm-clone
- t2-function-type
- t2-exception-handling
- t2-unified-syntax
- t2-exception-handling-alternative
- t2-srs-variant
- thumb2-kernel-port
- errata-arm1136-364296
- errata-arm1136-411920
- pipt-icache-flush
- smp-writealloc
         3150 function calls (3112 primitive calls) in 2.229 CPU seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    2.229    2.229 <string>:1(?)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:105(Error)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:117(NoSectionError)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:124(DuplicateSectionError)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:131(NoOptionError)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:140(InterpolationError)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:148(InterpolationMissingOptionError)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:161(InterpolationSyntaxError)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:165(InterpolationDepthError)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:176(ParsingError)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:188(MissingSectionHeaderError)
        1    0.000    0.000    0.009    0.009 ConfigParser.py:202(RawConfigParser)
        1    0.000    0.000    0.000    0.000 ConfigParser.py:487(ConfigParser)
        1    0.000    0.000    0.002    0.002 ConfigParser.py:570(SafeConfigParser)
        1    0.000    0.000    0.011    0.011 ConfigParser.py:88(?)
        1    0.000    0.000    0.000    0.000 UserDict.py:19(__getitem__)
        1    0.000    0.000    0.000    0.000 UserDict.py:62(__contains__)
        1    0.000    0.000    0.000    0.000 basedir.py:2(?)
        1    0.007    0.007    0.007    0.007 basedir.py:23(__output)
        1    0.000    0.000    0.007    0.007 basedir.py:33(get)
        1    0.003    0.003    0.011    0.011 common.py:2(?)
        1    0.000    0.000    0.000    0.000 common.py:32(CmdException)
        1    0.000    0.000    0.000    0.000 common.py:37(RevParseException)
        1    0.000    0.000    0.006    0.006 config.py:125(config_setup)
        1    0.000    0.000    0.000    0.000 config.py:134(ConfigOption)
        2    0.000    0.000    0.000    0.000 config.py:137(__init__)
        1    0.000    0.000    0.000    0.000 config.py:2(?)
        1    0.000    0.000    0.000    0.000 config.py:24(GitConfigException)
        1    0.000    0.000    0.000    0.000 config.py:27(GitConfig)
        1    0.006    0.006    0.006    0.006 config.py:65(get)
        1    0.005    0.005    0.023    0.023 git.py:180(_output_one_line)
        2    2.029    1.015    2.067    1.034 git.py:192(_output_lines)
        1    0.002    0.002    0.003    0.003 git.py:2(?)
        1    0.000    0.000    0.023    0.023 git.py:288(get_head_file)
        1    0.000    0.000    0.000    0.000 git.py:30(GitException)
        1    0.000    0.000    0.000    0.000 git.py:39(Person)
        1    0.000    0.000    0.000    0.000 git.py:71(Commit)
        1    0.000    0.000    0.000    0.000 gitmergeonefile.py:2(?)
        1    0.000    0.000    0.000    0.000 gitmergeonefile.py:27(GitMergeException)
        1    0.001    0.001    2.228    2.228 main.py:197(main)
        1    0.000    0.000    0.000    0.000 main.py:32(canonical_cmd)
        1    0.000    0.000    0.015    0.015 main.py:51(__getitem__)
        1    0.000    0.000    0.000    0.000 optparse.py:1007(_create_option_list)
        1    0.000    0.000    0.001    0.001 optparse.py:1012(_populate_option_list)
        1    0.000    0.000    0.000    0.000 optparse.py:1022(_init_parsing_state)
        1    0.000    0.000    0.000    0.000 optparse.py:1036(set_usage)
        1    0.000    0.000    0.000    0.000 optparse.py:1059(get_default_values)
        1    0.000    0.000    0.000    0.000 optparse.py:1091(_get_args)
        1    0.000    0.000    0.000    0.000 optparse.py:1097(parse_args)
        1    0.000    0.000    0.000    0.000 optparse.py:1136(check_values)
        1    0.000    0.000    0.000    0.000 optparse.py:1149(_process_args)
        1    0.000    0.000    0.000    0.000 optparse.py:140(__init__)
        1    0.000    0.000    0.000    0.000 optparse.py:247(__init__)
       12    0.001    0.000    0.002    0.000 optparse.py:413(__init__)
       12    0.000    0.000    0.000    0.000 optparse.py:432(_check_opt_strings)
       12    0.000    0.000    0.000    0.000 optparse.py:441(_set_opt_strings)
       12    0.000    0.000    0.000    0.000 optparse.py:462(_set_attrs)
       12    0.000    0.000    0.000    0.000 optparse.py:480(_check_action)
       12    0.000    0.000    0.000    0.000 optparse.py:486(_check_type)
       12    0.000    0.000    0.000    0.000 optparse.py:504(_check_choice)
       12    0.000    0.000    0.000    0.000 optparse.py:517(_check_dest)
       12    0.000    0.000    0.000    0.000 optparse.py:528(_check_const)
       12    0.000    0.000    0.000    0.000 optparse.py:534(_check_nargs)
       12    0.000    0.000    0.000    0.000 optparse.py:543(_check_callback)
        1    0.000    0.000    0.000    0.000 optparse.py:662(__init__)
        1    0.000    0.000    0.000    0.000 optparse.py:748(__init__)
        1    0.000    0.000    0.000    0.000 optparse.py:759(_create_option_mappings)
        1    0.000    0.000    0.000    0.000 optparse.py:775(set_conflict_handler)
        1    0.000    0.000    0.000    0.000 optparse.py:780(set_description)
       13    0.000    0.000    0.000    0.000 optparse.py:786(_check_conflict)
       13    0.000    0.000    0.001    0.000 optparse.py:815(add_option)
        1    0.000    0.000    0.001    0.001 optparse.py:845(add_options)
        1    0.000    0.000    0.001    0.001 optparse.py:975(__init__)
        1    0.000    0.000    0.000    0.000 os.py:444(__setitem__)
        4    0.000    0.000    0.000    0.000 popen2.py:21(_cleanup)
        1    0.000    0.000    0.000    0.000 popen2.py:25(Popen3)
        4    0.064    0.016    0.064    0.016 popen2.py:31(__init__)
        1    0.000    0.000    0.000    0.000 popen2.py:7(?)
        3    0.000    0.000    0.000    0.000 popen2.py:87(wait)
        1    0.000    0.000    0.000    0.000 popen2.py:97(Popen4)
        1    0.000    0.000    0.000    0.000 posixpath.py:110(basename)
        5    0.000    0.000    0.000    0.000 posixpath.py:184(isdir)
        4    0.000    0.000    0.000    0.000 posixpath.py:197(isfile)
        8    0.000    0.000    0.000    0.000 posixpath.py:56(join)
        1    0.000    0.000    0.000    0.000 posixpath.py:74(split)
        1    0.000    0.000    2.229    2.229 profile:0(main())
        0    0.000             0.000          profile:0(profiler)
        1    0.001    0.001    2.163    2.163 series.py:111(func)
        1    0.001    0.001    0.015    0.015 series.py:2(?)
       38    0.001    0.000    0.001    0.000 series.py:88(__print_patch)
       46    0.000    0.000    0.000    0.000 sets.py:119(__iter__)
        1    0.000    0.000    0.000    0.000 sets.py:356(_update)
        1    0.000    0.000    0.000    0.000 sets.py:393(ImmutableSet)
        1    0.001    0.001    0.001    0.001 sets.py:41(?)
        1    0.000    0.000    0.000    0.000 sets.py:418(Set)
       72    0.001    0.000    0.001    0.000 sets.py:425(__init__)
       89    0.001    0.000    0.001    0.000 sets.py:515(add)
       25    0.000    0.000    0.000    0.000 sets.py:528(remove)
        1    0.000    0.000    0.000    0.000 sets.py:564(_TemporarilyImmutableSet)
        1    0.000    0.000    0.000    0.000 sets.py:83(BaseSet)
       26    0.000    0.000    0.000    0.000 sets.py:99(__len__)
        1    0.000    0.000    0.000    0.000 shutil.py:16(Error)
        1    0.000    0.000    0.000    0.000 shutil.py:5(?)
      896    0.017    0.000    0.028    0.000 sre.py:129(match)
        4    0.000    0.000    0.013    0.003 sre.py:177(compile)
      900    0.012    0.000    0.025    0.000 sre.py:216(_compile)
        5    0.000    0.000    0.001    0.000 sre_compile.py:151(_compile_charset)
        5    0.000    0.000    0.000    0.000 sre_compile.py:180(_optimize_charset)
     17/4    0.001    0.000    0.002    0.001 sre_compile.py:24(_compile)
        7    0.000    0.000    0.000    0.000 sre_compile.py:324(_simple)
        4    0.000    0.000    0.001    0.000 sre_compile.py:331(_compile_info)
       12    0.000    0.000    0.000    0.000 sre_compile.py:42(<lambda>)
        8    0.000    0.000    0.000    0.000 sre_compile.py:440(isstring)
        4    0.000    0.000    0.004    0.001 sre_compile.py:446(_code)
        4    0.000    0.000    0.013    0.003 sre_compile.py:461(compile)
       32    0.000    0.000    0.000    0.000 sre_parse.py:133(__len__)
       51    0.000    0.000    0.000    0.000 sre_parse.py:137(__getitem__)
        7    0.000    0.000    0.000    0.000 sre_parse.py:139(__setitem__)
        7    0.000    0.000    0.000    0.000 sre_parse.py:141(__getslice__)
       44    0.000    0.000    0.000    0.000 sre_parse.py:145(append)
    24/11    0.001    0.000    0.001    0.000 sre_parse.py:147(getwidth)
        4    0.000    0.000    0.000    0.000 sre_parse.py:183(__init__)
      125    0.001    0.000    0.001    0.000 sre_parse.py:187(__next)
       59    0.001    0.000    0.001    0.000 sre_parse.py:200(match)
       98    0.002    0.000    0.003    0.000 sre_parse.py:206(get)
       23    0.000    0.000    0.000    0.000 sre_parse.py:215(isident)
        4    0.000    0.000    0.001    0.000 sre_parse.py:221(isname)
        2    0.000    0.000    0.000    0.000 sre_parse.py:240(_class_escape)
        6    0.000    0.000    0.000    0.000 sre_parse.py:269(_escape)
     10/4    0.000    0.000    0.008    0.002 sre_parse.py:312(_parse_sub)
     10/4    0.003    0.000    0.008    0.002 sre_parse.py:367(_parse)
        4    0.000    0.000    0.009    0.002 sre_parse.py:614(parse)
        4    0.000    0.000    0.000    0.000 sre_parse.py:75(__init__)
        6    0.000    0.000    0.000    0.000 sre_parse.py:80(opengroup)
        6    0.000    0.000    0.000    0.000 sre_parse.py:91(closegroup)
       17    0.000    0.000    0.000    0.000 sre_parse.py:98(__init__)
        1    0.000    0.000    0.000    0.000 stack.py:112(StgitObject)
        1    0.000    0.000    0.000    0.000 stack.py:115(_set_dir)
        6    0.000    0.000    0.000    0.000 stack.py:117(_dir)
        1    0.000    0.000    0.000    0.000 stack.py:142(Patch)
        1    0.004    0.004    0.008    0.008 stack.py:2(?)
        1    0.000    0.000    0.000    0.000 stack.py:277(PatchorderCache)
        1    0.000    0.000    0.000    0.000 stack.py:280(__init__)
        1    0.000    0.000    0.000    0.000 stack.py:283(__invalidate)
       59    0.001    0.000    0.001    0.000 stack.py:286(__cache)
        2    0.000    0.000    0.000    0.000 stack.py:293(read_file)
        1    0.000    0.000    0.000    0.000 stack.py:30(StackException)
       59    0.005    0.000    0.007    0.000 stack.py:315(cmp)
        1    0.014    0.014    0.110    0.110 stack.py:327(read_refs)
        1    0.000    0.000    0.000    0.000 stack.py:33(FilterUntil)
        1    0.002    0.002    2.006    2.006 stack.py:342(unapplied_patches)
        1    0.026    0.026    0.037    0.037 stack.py:358(sort_applied_patches)
        1    0.000    0.000    0.000    0.000 stack.py:382(AppliedCache)
        1    0.000    0.000    0.000    0.000 stack.py:385(__init__)
        2    0.000    0.000    2.161    1.080 stack.py:389(get_applied)
        1    0.000    0.000    0.000    0.000 stack.py:392(get_unapplied)
        1    0.000    0.000    0.000    0.000 stack.py:417(__invalidate)
        3    0.000    0.000    0.000    0.000 stack.py:420(__cached)
        3    0.001    0.000    2.161    0.720 stack.py:422(__cache)
        1    0.000    0.000    0.000    0.000 stack.py:434(Series)
        1    0.000    0.000    0.031    0.031 stack.py:437(__init__)
        1    0.000    0.000    0.000    0.000 stack.py:479(get_branch)
        1    0.000    0.000    0.000    0.000 stack.py:497(get_current)
        2    0.000    0.000    2.161    1.080 stack.py:507(get_applied)
        1    0.000    0.000    0.000    0.000 stack.py:510(get_unapplied)
        1    0.000    0.000    0.000    0.000 stack.py:513(get_hidden)
        2    0.000    0.000    0.000    0.000 stack.py:646(is_initialised)
        8    0.000    0.000    0.000    0.000 stat.py:29(S_IFMT)
        5    0.000    0.000    0.000    0.000 stat.py:45(S_ISDIR)
        3    0.000    0.000    0.000    0.000 stat.py:54(S_ISREG)
        1    0.000    0.000    0.000    0.000 templates.py:2(?)
        1    0.000    0.000    0.000    0.000 utils.py:107(strip_prefix)
        1    0.000    0.000    0.000    0.000 utils.py:153(EditorException)
        1    0.001    0.001    0.001    0.001 utils.py:2(?)


   Ordered by: standard name

Function                                              called...
<string>:1(?)                                          main.py:197(main)(1)    2.228
ConfigParser.py:105(Error)                             --
ConfigParser.py:117(NoSectionError)                    --
ConfigParser.py:124(DuplicateSectionError)             --
ConfigParser.py:131(NoOptionError)                     --
ConfigParser.py:140(InterpolationError)                --
ConfigParser.py:148(InterpolationMissingOptionError)   --
ConfigParser.py:161(InterpolationSyntaxError)          --
ConfigParser.py:165(InterpolationDepthError)           --
ConfigParser.py:176(ParsingError)                      --
ConfigParser.py:188(MissingSectionHeaderError)         --
ConfigParser.py:202(RawConfigParser)                   sre.py:177(compile)(2)    0.013
ConfigParser.py:487(ConfigParser)                      --
ConfigParser.py:570(SafeConfigParser)                  sre.py:177(compile)(1)    0.013
ConfigParser.py:88(?)                                  ConfigParser.py:105(Error)(1)    0.000
                                                       ConfigParser.py:117(NoSectionError)(1)    0.000
                                                       ConfigParser.py:124(DuplicateSectionError)(1)    0.000
                                                       ConfigParser.py:131(NoOptionError)(1)    0.000
                                                       ConfigParser.py:140(InterpolationError)(1)    0.000
                                                       ConfigParser.py:148(InterpolationMissingOptionError)(1)    0.000
                                                       ConfigParser.py:161(InterpolationSyntaxError)(1)    0.000
                                                       ConfigParser.py:165(InterpolationDepthError)(1)    0.000
                                                       ConfigParser.py:176(ParsingError)(1)    0.000
                                                       ConfigParser.py:188(MissingSectionHeaderError)(1)    0.000
                                                       ConfigParser.py:202(RawConfigParser)(1)    0.009
                                                       ConfigParser.py:487(ConfigParser)(1)    0.000
                                                       ConfigParser.py:570(SafeConfigParser)(1)    0.002
UserDict.py:19(__getitem__)                            --
UserDict.py:62(__contains__)                           --
basedir.py:2(?)                                        --
basedir.py:23(__output)                                --
basedir.py:33(get)                                     UserDict.py:62(__contains__)(1)    0.000
                                                       basedir.py:23(__output)(1)    0.007
common.py:2(?)                                         common.py:32(CmdException)(1)    0.000
                                                       common.py:37(RevParseException)(1)    0.000
                                                       stack.py:2(?)(1)    0.008
                                                       utils.py:2(?)(1)    0.001
common.py:32(CmdException)                             --
common.py:37(RevParseException)                        --
config.py:125(config_setup)                            config.py:65(get)(1)    0.006
                                                       os.py:444(__setitem__)(1)    0.000
config.py:134(ConfigOption)                            --
config.py:137(__init__)                                --
config.py:2(?)                                         basedir.py:2(?)(1)    0.000
                                                       config.py:24(GitConfigException)(1)    0.000
                                                       config.py:27(GitConfig)(1)    0.000
                                                       config.py:134(ConfigOption)(1)    0.000
config.py:24(GitConfigException)                       --
config.py:27(GitConfig)                                --
config.py:65(get)                                      --
git.py:180(_output_one_line)                           popen2.py:31(__init__)(1)    0.064
                                                       popen2.py:87(wait)(1)    0.000
git.py:192(_output_lines)                              popen2.py:31(__init__)(2)    0.064
                                                       popen2.py:87(wait)(2)    0.000
git.py:2(?)                                            git.py:30(GitException)(1)    0.000
                                                       git.py:39(Person)(1)    0.000
                                                       git.py:71(Commit)(1)    0.000
                                                       gitmergeonefile.py:2(?)(1)    0.000
                                                       sets.py:41(?)(1)    0.001
                                                       shutil.py:5(?)(1)    0.000
git.py:288(get_head_file)                              git.py:180(_output_one_line)(1)    0.023
                                                       utils.py:107(strip_prefix)(1)    0.000
git.py:30(GitException)                                --
git.py:39(Person)                                      --
git.py:71(Commit)                                      --
gitmergeonefile.py:2(?)                                config.py:137(__init__)(2)    0.000
                                                       gitmergeonefile.py:27(GitMergeException)(1)    0.000
gitmergeonefile.py:27(GitMergeException)               --
main.py:197(main)                                      ConfigParser.py:88(?)(1)    0.011
                                                       UserDict.py:19(__getitem__)(1)    0.000
                                                       config.py:125(config_setup)(1)    0.006
                                                       main.py:32(canonical_cmd)(1)    0.000
                                                       main.py:51(__getitem__)(1)    0.015
                                                       optparse.py:975(__init__)(1)    0.001
                                                       optparse.py:1097(parse_args)(1)    0.000
                                                       posixpath.py:110(basename)(1)    0.000
                                                       series.py:111(func)(1)    2.163
                                                       stack.py:437(__init__)(1)    0.031
main.py:32(canonical_cmd)                              --
main.py:51(__getitem__)                                series.py:2(?)(1)    0.015
optparse.py:1007(_create_option_list)                  optparse.py:759(_create_option_mappings)(1)    0.000
optparse.py:1012(_populate_option_list)                optparse.py:815(add_option)(1)    0.001
                                                       optparse.py:845(add_options)(1)    0.001
optparse.py:1022(_init_parsing_state)                  --
optparse.py:1036(set_usage)                            --
optparse.py:1059(get_default_values)                   optparse.py:662(__init__)(1)    0.000
optparse.py:1091(_get_args)                            --
optparse.py:1097(parse_args)                           optparse.py:1059(get_default_values)(1)    0.000
                                                       optparse.py:1091(_get_args)(1)    0.000
                                                       optparse.py:1136(check_values)(1)    0.000
                                                       optparse.py:1149(_process_args)(1)    0.000
optparse.py:1136(check_values)                         --
optparse.py:1149(_process_args)                        --
optparse.py:140(__init__)                              --
optparse.py:247(__init__)                              optparse.py:140(__init__)(1)    0.000
optparse.py:413(__init__)                              optparse.py:432(_check_opt_strings)(12)    0.000
                                                       optparse.py:441(_set_opt_strings)(12)    0.000
                                                       optparse.py:462(_set_attrs)(12)    0.000
                                                       optparse.py:480(_check_action)(12)    0.000
                                                       optparse.py:486(_check_type)(12)    0.000
                                                       optparse.py:504(_check_choice)(12)    0.000
                                                       optparse.py:517(_check_dest)(12)    0.000
                                                       optparse.py:528(_check_const)(12)    0.000
                                                       optparse.py:534(_check_nargs)(12)    0.000
                                                       optparse.py:543(_check_callback)(12)    0.000
optparse.py:432(_check_opt_strings)                    --
optparse.py:441(_set_opt_strings)                      --
optparse.py:462(_set_attrs)                            --
optparse.py:480(_check_action)                         --
optparse.py:486(_check_type)                           --
optparse.py:504(_check_choice)                         --
optparse.py:517(_check_dest)                           --
optparse.py:528(_check_const)                          --
optparse.py:534(_check_nargs)                          --
optparse.py:543(_check_callback)                       --
optparse.py:662(__init__)                              --
optparse.py:748(__init__)                              optparse.py:775(set_conflict_handler)(1)    0.000
                                                       optparse.py:780(set_description)(1)    0.000
                                                       optparse.py:1007(_create_option_list)(1)    0.000
optparse.py:759(_create_option_mappings)               --
optparse.py:775(set_conflict_handler)                  --
optparse.py:780(set_description)                       --
optparse.py:786(_check_conflict)                       --
optparse.py:815(add_option)                            optparse.py:786(_check_conflict)(13)    0.000
optparse.py:845(add_options)                           optparse.py:815(add_option)(12)    0.001
optparse.py:975(__init__)                              optparse.py:247(__init__)(1)    0.000
                                                       optparse.py:748(__init__)(1)    0.000
                                                       optparse.py:1012(_populate_option_list)(1)    0.001
                                                       optparse.py:1022(_init_parsing_state)(1)    0.000
                                                       optparse.py:1036(set_usage)(1)    0.000
os.py:444(__setitem__)                                 --
popen2.py:21(_cleanup)                                 --
popen2.py:25(Popen3)                                   --
popen2.py:31(__init__)                                 popen2.py:21(_cleanup)(4)    0.000
popen2.py:7(?)                                         popen2.py:25(Popen3)(1)    0.000
                                                       popen2.py:97(Popen4)(1)    0.000
popen2.py:87(wait)                                     --
popen2.py:97(Popen4)                                   --
posixpath.py:110(basename)                             posixpath.py:74(split)(1)    0.000
posixpath.py:184(isdir)                                stat.py:45(S_ISDIR)(5)    0.000
posixpath.py:197(isfile)                               stat.py:54(S_ISREG)(3)    0.000
posixpath.py:56(join)                                  --
posixpath.py:74(split)                                 --
profile:0(main())                                      <string>:1(?)(1)    2.229
profile:0(profiler)                                    profile:0(main())(1)    2.229
series.py:111(func)                                    series.py:88(__print_patch)(38)    0.001
                                                       stack.py:497(get_current)(1)    0.000
                                                       stack.py:507(get_applied)(1)    2.161
                                                       stack.py:510(get_unapplied)(1)    0.000
                                                       stack.py:513(get_hidden)(1)    0.000
series.py:2(?)                                         common.py:2(?)(1)    0.011
                                                       optparse.py:413(__init__)(12)    0.002
series.py:88(__print_patch)                            --
sets.py:119(__iter__)                                  --
sets.py:356(_update)                                   --
sets.py:393(ImmutableSet)                              --
sets.py:41(?)                                          sets.py:83(BaseSet)(1)    0.000
                                                       sets.py:393(ImmutableSet)(1)    0.000
                                                       sets.py:418(Set)(1)    0.000
                                                       sets.py:564(_TemporarilyImmutableSet)(1)    0.000
sets.py:418(Set)                                       --
sets.py:425(__init__)                                  sets.py:356(_update)(1)    0.000
sets.py:515(add)                                       --
sets.py:528(remove)                                    --
sets.py:564(_TemporarilyImmutableSet)                  --
sets.py:83(BaseSet)                                    --
sets.py:99(__len__)                                    --
shutil.py:16(Error)                                    --
shutil.py:5(?)                                         shutil.py:16(Error)(1)    0.000
sre.py:129(match)                                      sre.py:216(_compile)(896)    0.025
sre.py:177(compile)                                    sre.py:216(_compile)(4)    0.025
sre.py:216(_compile)                                   sre_compile.py:440(isstring)(4)    0.000
                                                       sre_compile.py:461(compile)(4)    0.013
sre_compile.py:151(_compile_charset)                   sre_compile.py:42(<lambda>)(6)    0.000
                                                       sre_compile.py:180(_optimize_charset)(5)    0.000
sre_compile.py:180(_optimize_charset)                  sre_compile.py:42(<lambda>)(6)    0.000
sre_compile.py:24(_compile)                            sre_compile.py:24(_compile)(13)    0.002
                                                       sre_compile.py:151(_compile_charset)(5)    0.001
                                                       sre_compile.py:324(_simple)(7)    0.000
                                                       sre_parse.py:137(__getitem__)(27)    0.000
sre_compile.py:324(_simple)                            sre_parse.py:137(__getitem__)(7)    0.000
                                                       sre_parse.py:147(getwidth)(7)    0.001
sre_compile.py:331(_compile_info)                      sre_parse.py:133(__len__)(4)    0.000
                                                       sre_parse.py:137(__getitem__)(3)    0.000
                                                       sre_parse.py:147(getwidth)(4)    0.001
sre_compile.py:42(<lambda>)                            --
sre_compile.py:440(isstring)                           --
sre_compile.py:446(_code)                              sre_compile.py:24(_compile)(4)    0.002
                                                       sre_compile.py:331(_compile_info)(4)    0.001
sre_compile.py:461(compile)                            sre_compile.py:440(isstring)(4)    0.000
                                                       sre_compile.py:446(_code)(4)    0.004
                                                       sre_parse.py:614(parse)(4)    0.009
sre_parse.py:133(__len__)                              --
sre_parse.py:137(__getitem__)                          --
sre_parse.py:139(__setitem__)                          --
sre_parse.py:141(__getslice__)                         sre_parse.py:98(__init__)(7)    0.000
sre_parse.py:145(append)                               --
sre_parse.py:147(getwidth)                             sre_parse.py:147(getwidth)(13)    0.001
sre_parse.py:183(__init__)                             sre_parse.py:187(__next)(4)    0.001
sre_parse.py:187(__next)                               --
sre_parse.py:200(match)                                sre_parse.py:187(__next)(23)    0.001
sre_parse.py:206(get)                                  sre_parse.py:187(__next)(98)    0.001
sre_parse.py:215(isident)                              --
sre_parse.py:221(isname)                               sre_parse.py:215(isident)(23)    0.000
sre_parse.py:240(_class_escape)                        --
sre_parse.py:269(_escape)                              --
sre_parse.py:312(_parse_sub)                           sre_parse.py:200(match)(16)    0.001
                                                       sre_parse.py:367(_parse)(10)    0.008
sre_parse.py:367(_parse)                               sre_parse.py:80(opengroup)(6)    0.000
                                                       sre_parse.py:91(closegroup)(6)    0.000
                                                       sre_parse.py:98(__init__)(10)    0.000
                                                       sre_parse.py:133(__len__)(28)    0.000
                                                       sre_parse.py:137(__getitem__)(14)    0.000
                                                       sre_parse.py:139(__setitem__)(7)    0.000
                                                       sre_parse.py:141(__getslice__)(7)    0.000
                                                       sre_parse.py:145(append)(44)    0.000
                                                       sre_parse.py:200(match)(43)    0.001
                                                       sre_parse.py:206(get)(94)    0.003
                                                       sre_parse.py:221(isname)(4)    0.001
                                                       sre_parse.py:240(_class_escape)(2)    0.000
                                                       sre_parse.py:269(_escape)(6)    0.000
                                                       sre_parse.py:312(_parse_sub)(6)    0.008
sre_parse.py:614(parse)                                sre_parse.py:75(__init__)(4)    0.000
                                                       sre_parse.py:183(__init__)(4)    0.000
                                                       sre_parse.py:206(get)(4)    0.003
                                                       sre_parse.py:312(_parse_sub)(4)    0.008
sre_parse.py:75(__init__)                              --
sre_parse.py:80(opengroup)                             --
sre_parse.py:91(closegroup)                            --
sre_parse.py:98(__init__)                              --
stack.py:112(StgitObject)                              --
stack.py:115(_set_dir)                                 --
stack.py:117(_dir)                                     --
stack.py:142(Patch)                                    --
stack.py:2(?)                                          git.py:2(?)(1)    0.003
                                                       popen2.py:7(?)(1)    0.000
                                                       stack.py:30(StackException)(1)    0.000
                                                       stack.py:33(FilterUntil)(1)    0.000
                                                       stack.py:112(StgitObject)(1)    0.000
                                                       stack.py:142(Patch)(1)    0.000
                                                       stack.py:277(PatchorderCache)(1)    0.000
                                                       stack.py:382(AppliedCache)(1)    0.000
                                                       stack.py:434(Series)(1)    0.000
                                                       templates.py:2(?)(1)    0.000
stack.py:277(PatchorderCache)                          --
stack.py:280(__init__)                                 stack.py:283(__invalidate)(1)    0.000
stack.py:283(__invalidate)                             --
stack.py:286(__cache)                                  posixpath.py:56(join)(3)    0.000
                                                       posixpath.py:197(isfile)(3)    0.000
                                                       stack.py:117(_dir)(3)    0.000
                                                       stack.py:293(read_file)(2)    0.000
stack.py:293(read_file)                                --
stack.py:30(StackException)                            --
stack.py:315(cmp)                                      stack.py:286(__cache)(59)    0.001
stack.py:327(read_refs)                                git.py:192(_output_lines)(1)    2.067
                                                       sre.py:129(match)(896)    0.028
                                                       sre.py:177(compile)(1)    0.013
stack.py:33(FilterUntil)                               --
stack.py:342(unapplied_patches)                        git.py:192(_output_lines)(1)    2.067
                                                       sets.py:119(__iter__)(19)    0.000
                                                       sets.py:425(__init__)(46)    0.001
                                                       sets.py:515(add)(64)    0.001
stack.py:358(sort_applied_patches)                     popen2.py:31(__init__)(1)    0.064
                                                       sets.py:99(__len__)(26)    0.000
                                                       sets.py:119(__iter__)(25)    0.000
                                                       sets.py:425(__init__)(26)    0.001
                                                       sets.py:515(add)(25)    0.001
                                                       sets.py:528(remove)(25)    0.000
stack.py:382(AppliedCache)                             --
stack.py:385(__init__)                                 stack.py:280(__init__)(1)    0.000
                                                       stack.py:417(__invalidate)(1)    0.000
stack.py:389(get_applied)                              stack.py:422(__cache)(2)    2.161
stack.py:392(get_unapplied)                            stack.py:422(__cache)(1)    2.161
stack.py:417(__invalidate)                             --
stack.py:420(__cached)                                 --
stack.py:422(__cache)                                  sets.py:119(__iter__)(2)    0.000
                                                       stack.py:315(cmp)(59)    0.007
                                                       stack.py:327(read_refs)(1)    0.110
                                                       stack.py:342(unapplied_patches)(1)    2.006
                                                       stack.py:358(sort_applied_patches)(1)    0.037
                                                       stack.py:420(__cached)(3)    0.000
                                                       stack.py:479(get_branch)(1)    0.000
stack.py:434(Series)                                   --
stack.py:437(__init__)                                 basedir.py:33(get)(1)    0.007
                                                       git.py:288(get_head_file)(1)    0.023
                                                       posixpath.py:56(join)(5)    0.000
                                                       posixpath.py:184(isdir)(3)    0.000
                                                       stack.py:115(_set_dir)(1)    0.000
                                                       stack.py:117(_dir)(3)    0.000
                                                       stack.py:385(__init__)(1)    0.000
                                                       stack.py:646(is_initialised)(2)    0.000
stack.py:479(get_branch)                               --
stack.py:497(get_current)                              stack.py:507(get_applied)(1)    2.161
stack.py:507(get_applied)                              stack.py:389(get_applied)(2)    2.161
stack.py:510(get_unapplied)                            stack.py:392(get_unapplied)(1)    0.000
stack.py:513(get_hidden)                               posixpath.py:197(isfile)(1)    0.000
stack.py:646(is_initialised)                           posixpath.py:184(isdir)(2)    0.000
stat.py:29(S_IFMT)                                     --
stat.py:45(S_ISDIR)                                    stat.py:29(S_IFMT)(5)    0.000
stat.py:54(S_ISREG)                                    stat.py:29(S_IFMT)(3)    0.000
templates.py:2(?)                                      --
utils.py:107(strip_prefix)                             --
utils.py:153(EditorException)                          --
utils.py:2(?)                                          config.py:2(?)(1)    0.000
                                                       utils.py:153(EditorException)(1)    0.000



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux