[Python-Dev] Re: [Python-checkins] python/dist/src/Lib warnings.py, 1.19, 1.20

Skip Montanaro skip@pobox.com
Wed, 14 May 2003 14:32:23 -0500


--g4s0SsAiBg
Content-Type: text/plain; charset=us-ascii
Content-Description: message body text
Content-Transfer-Encoding: 7bit


    Guido> OK.  Please report old and new startup times!

That seems to be a little harder than you'd think.  First, I had to fix
encodings/__init__.py as well.  Here are some numbers.  In all cases the
interpreter is as I built it from CVS on May 6.  PYTHONSTARTUP is not
defined.

    "import re" at top level:

    Without -S (best real time of 5 runs):

        % time python -c pass
        
        real    0m0.169s
        user    0m0.100s
        sys     0m0.030s

    With -S (best of 5):

        % time python -S -c pass
        
        real    0m0.125s
        user    0m0.020s
        sys     0m0.080s

    Proposed mods to warnings.py (and provisional replacement of re with
    string translation tables in encodings/__init__.py):

    Without -S (best of 5):

        % time python -c pass

        real    0m0.187s
        user    0m0.120s
        sys     0m0.030s

    With -S (best of 5):

        % time python -S -c pass

        real    0m0.118s
        user    0m0.020s
        sys     0m0.020s

Not too exciting.  I verified using -v that these modules are imported in
2.3 with no PYTHONSTARTUP and the -S flag after my changes:

    UserDict
    copy_reg
    linecache
    os
    posix
    posixpath
    stat
    types
    warnings
    zipimport

Without -S (and my sitecustomize.py file moved) I get these:

    UserDict
    copy_reg
    linecache
    os
    posix
    posixpath
    site
    stat
    types
    warnings
    zipimport

I've got to get back to some paying work, so I can't pursue this more at the
moment.  Attached are my current diffs for warnings.py and encodings/
__init__.py if someone has a few moments to look at it.

Skip


--g4s0SsAiBg
Content-Type: application/octet-stream
Content-Disposition: attachment;
        filename="nore.diff"
Content-Transfer-Encoding: base64

SW5kZXg6IExpYi93YXJuaW5ncy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9v
dC9weXRob24vcHl0aG9uL2Rpc3Qvc3JjL0xpYi93YXJuaW5ncy5weSx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4yMApkaWZmIC1jIC1yMS4yMCB3YXJuaW5ncy5weQoqKiogTGliL3dhcm5p
bmdzLnB5CTE0IE1heSAyMDAzIDE3OjMzOjUzIC0wMDAwCTEuMjAKLS0tIExpYi93YXJuaW5n
cy5weQkxNCBNYXkgMjAwMyAxOToyNzozMiAtMDAwMAoqKioqKioqKioqKioqKioKKioqIDMs
OSAqKioqCiAgIyBOb3RlOiBmdW5jdGlvbiBsZXZlbCBpbXBvcnRzIHNob3VsZCAqbm90KiBi
ZSB1c2VkCiAgIyBpbiB0aGlzIG1vZHVsZSBhcyBpdCBtYXkgY2F1c2UgaW1wb3J0IGxvY2sg
ZGVhZGxvY2suCiAgIyBTZWUgYnVnIDY4MzY1OC4KISBpbXBvcnQgc3lzLCB0eXBlcwogIGlt
cG9ydCBsaW5lY2FjaGUKICAKICBfX2FsbF9fID0gWyJ3YXJuIiwgInNob3d3YXJuaW5nIiwg
ImZvcm1hdHdhcm5pbmciLCAiZmlsdGVyd2FybmluZ3MiLAotLS0gMyw5IC0tLS0KICAjIE5v
dGU6IGZ1bmN0aW9uIGxldmVsIGltcG9ydHMgc2hvdWxkICpub3QqIGJlIHVzZWQKICAjIGlu
IHRoaXMgbW9kdWxlIGFzIGl0IG1heSBjYXVzZSBpbXBvcnQgbG9jayBkZWFkbG9jay4KICAj
IFNlZSBidWcgNjgzNjU4LgohIGltcG9ydCBzeXMsIHJlLCB0eXBlcwogIGltcG9ydCBsaW5l
Y2FjaGUKICAKICBfX2FsbF9fID0gWyJ3YXJuIiwgInNob3d3YXJuaW5nIiwgImZvcm1hdHdh
cm5pbmciLCAiZmlsdGVyd2FybmluZ3MiLAoqKioqKioqKioqKioqKioKKioqIDEyOSwxMzUg
KioqKgogICAgICAiIiJJbnNlcnQgYW4gZW50cnkgaW50byB0aGUgbGlzdCBvZiB3YXJuaW5n
cyBmaWx0ZXJzIChhdCB0aGUgZnJvbnQpLgogIAogICAgICBVc2UgYXNzZXJ0aW9ucyB0byBj
aGVjayB0aGF0IGFsbCBhcmd1bWVudHMgaGF2ZSB0aGUgcmlnaHQgdHlwZS4iIiIKLSAgICAg
aW1wb3J0IHJlCiAgICAgIGFzc2VydCBhY3Rpb24gaW4gKCJlcnJvciIsICJpZ25vcmUiLCAi
YWx3YXlzIiwgImRlZmF1bHQiLCAibW9kdWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAg
Im9uY2UiKSwgImludmFsaWQgYWN0aW9uOiAlcyIgJSBgYWN0aW9uYAogICAgICBhc3NlcnQg
aXNpbnN0YW5jZShtZXNzYWdlLCBiYXNlc3RyaW5nKSwgIm1lc3NhZ2UgbXVzdCBiZSBhIHN0
cmluZyIKLS0tIDEyOSwxMzQgLS0tLQoqKioqKioqKioqKioqKioKKioqIDE2MywxNjkgKioq
KgogIAogICMgSGVscGVyIGZvciBfcHJvY2Vzc29wdGlvbnMoKQogIGRlZiBfc2V0b3B0aW9u
KGFyZyk6Ci0gICAgIGltcG9ydCByZQogICAgICBwYXJ0cyA9IGFyZy5zcGxpdCgnOicpCiAg
ICAgIGlmIGxlbihwYXJ0cykgPiA1OgogICAgICAgICAgcmFpc2UgX09wdGlvbkVycm9yKCJ0
b28gbWFueSBmaWVsZHMgKG1heCA1KTogJXMiICUgYGFyZ2ApCi0tLSAxNjIsMTY3IC0tLS0K
KioqKioqKioqKioqKioqCioqKiAyMDAsMjA2ICoqKioKICAKICAjIEhlbHBlciBmb3IgX3Nl
dG9wdGlvbigpCiAgZGVmIF9nZXRjYXRlZ29yeShjYXRlZ29yeSk6Ci0gICAgIGltcG9ydCBy
ZQogICAgICBpZiBub3QgY2F0ZWdvcnk6CiAgICAgICAgICByZXR1cm4gV2FybmluZwogICAg
ICBpZiByZS5tYXRjaCgiXlthLXpBLVowLTlfXSskIiwgY2F0ZWdvcnkpOgotLS0gMTk4LDIw
MyAtLS0tCkluZGV4OiBMaWIvZW5jb2RpbmdzL19faW5pdF9fLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnNyb290L3B5dGhvbi9weXRob24vZGlzdC9zcmMvTGliL2VuY29kaW5n
cy9fX2luaXRfXy5weSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOApkaWZmIC1jIC1yMS4x
OCBfX2luaXRfXy5weQoqKiogTGliL2VuY29kaW5ncy9fX2luaXRfXy5weQkyNCBBcHIgMjAw
MyAxNjowMjo0OSAtMDAwMAkxLjE4Ci0tLSBMaWIvZW5jb2RpbmdzL19faW5pdF9fLnB5CTE0
IE1heSAyMDAzIDE5OjI3OjMyIC0wMDAwCioqKioqKioqKioqKioqKgoqKiogMjcsMzkgKioq
KgogIAogICIiIiMiCiAgCiEgaW1wb3J0IGNvZGVjcywgZXhjZXB0aW9ucywgcmUKICAKICBf
Y2FjaGUgPSB7fQogIF91bmtub3duID0gJy0tdW5rbm93bi0tJwogIF9pbXBvcnRfdGFpbCA9
IFsnKiddCiEgX25vcm1fZW5jb2RpbmdfUkUgPSByZS5jb21waWxlKCdbXmEtekEtWjAtOS5d
JykKICAKICBjbGFzcyBDb2RlY1JlZ2lzdHJ5RXJyb3IoZXhjZXB0aW9ucy5Mb29rdXBFcnJv
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9ucy5TeXN0ZW1FcnJvcik6
CiAgICAgIHBhc3MKLS0tIDI3LDQ4IC0tLS0KICAKICAiIiIjIgogIAohIGltcG9ydCBjb2Rl
Y3MsIGV4Y2VwdGlvbnMsIHN0cmluZwogIAogIF9jYWNoZSA9IHt9CiAgX3Vua25vd24gPSAn
LS11bmtub3duLS0nCiAgX2ltcG9ydF90YWlsID0gWycqJ10KISAjX25vcm1fZW5jb2Rpbmdf
UkUgPSByZS5jb21waWxlKCdbXmEtekEtWjAtOS5dJykKICAKKyAjIGEgbGl0dGxlIGRhbmNl
IHRvIGF2b2lkIHVzaW5nIHJlCisgX25vcm1fZW5jb2RpbmdfdHJhbnMgPSAoIl8iKm9yZCgn
MCcpKworICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZy5kaWdpdHMrCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIl8iKihvcmQoJ0EnKS1vcmQoJzknKS0xKSsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJpbmcuYXNjaWlfdXBwZXJjYXNlKworICAgICAgICAgICAg
ICAgICAgICAgICAgICJfIioob3JkKCdhJyktb3JkKCdaJyktMSkrCisgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RyaW5nLmFzY2lpX2xvd2VyY2FzZSsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAiXyIqKDI1Ni1vcmQoJ3onKS0xKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAKICBjbGFzcyBDb2RlY1JlZ2lzdHJ5RXJyb3IoZXhjZXB0aW9ucy5Mb29rdXBFcnJvciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9ucy5TeXN0ZW1FcnJvcik6CiAg
ICAgIHBhc3MKKioqKioqKioqKioqKioqCioqKiA0OCw1NCAqKioqCiAgICAgICAgICBiZWNv
bWVzICdfJy4KICAKICAgICAgIiIiCiEgICAgIHJldHVybiAnXycuam9pbihfbm9ybV9lbmNv
ZGluZ19SRS5zcGxpdChlbmNvZGluZykpCiAgCiAgZGVmIHNlYXJjaF9mdW5jdGlvbihlbmNv
ZGluZyk6CiAgCi0tLSA1Nyw2MyAtLS0tCiAgICAgICAgICBiZWNvbWVzICdfJy4KICAKICAg
ICAgIiIiCiEgICAgIHJldHVybiBzdHJpbmcudHJhbnNsYXRlKGVuY29kaW5nLCBfbm9ybV9l
bmNvZGluZ190cmFucykKICAKICBkZWYgc2VhcmNoX2Z1bmN0aW9uKGVuY29kaW5nKToKICAK
--g4s0SsAiBg--