Archives for: February 2011, 24
Wow. Does isinstance blow up with ABC's?
February 24th, 2011Python 2.6.1. Here's a call to "isinstance(value, basestring)":
--[(_cprequest:782) --] (_cprequest:782) 0.044ms
versus "isinstance(value, io.IOBase)":
--[(_cprequest:791) ----> __instancecheck__ (abc:117) ----. __instancecheck__ (abc:120) ------[ (abc:120) ------] (abc:120) 0.046ms ----. __instancecheck__ (abc:121) ----. __instancecheck__ (abc:123) ----. __instancecheck__ (abc:124) ----. __instancecheck__ (abc:125) ----. __instancecheck__ (abc:126) ----. __instancecheck__ (abc:127) ----. __instancecheck__ (abc:130) ------> __subclasscheck__ (abc:134) ------. __subclasscheck__ (abc:137) ------. __subclasscheck__ (abc:140) ------. __subclasscheck__ (abc:144) ------. __subclasscheck__ (abc:147) --------[ ABCMeta.__subclasshook__ (abc:147) --------] ABCMeta.__subclasshook__ (abc:147) 0.043ms ------. __subclasscheck__ (abc:148) ------. __subclasscheck__ (abc:156) --------[ (abc:156) --------] (abc:156) 0.043ms ------. __subclasscheck__ (abc:160) ------. __subclasscheck__ (abc:165) --------[ ABCMeta.__subclasses__ (abc:165) --------] ABCMeta.__subclasses__ (abc:165) 0.045ms ------. __subclasscheck__ (abc:166) --------[ (abc:166) ----------> __subclasscheck__ (abc:134) ----------. __subclasscheck__ (abc:137) ----------. __subclasscheck__ (abc:140) ----------. __subclasscheck__ (abc:144) ----------. __subclasscheck__ (abc:147) ------------[ ABCMeta.__subclasshook__ (abc:147) ------------] ABCMeta.__subclasshook__ (abc:147) 0.043ms ----------. __subclasscheck__ (abc:148) ----------. __subclasscheck__ (abc:156) ------------[ (abc:156) ------------] (abc:156) 0.046ms ----------. __subclasscheck__ (abc:160) ----------. __subclasscheck__ (abc:165) ------------[ ABCMeta.__subclasses__ (abc:165) ------------] ABCMeta.__subclasses__ (abc:165) 0.043ms ----------. __subclasscheck__ (abc:166) ------------[ (abc:166) --------------> __subclasscheck__ (abc:134) --------------. __subclasscheck__ (abc:137) --------------. __subclasscheck__ (abc:140) --------------. __subclasscheck__ (abc:144) --------------. __subclasscheck__ (abc:147) ----------------[ ABCMeta.__subclasshook__ (abc:147) ----------------] ABCMeta.__subclasshook__ (abc:147) 0.043ms --------------. __subclasscheck__ (abc:148) --------------. __subclasscheck__ (abc:156) ----------------[ (abc:156) ----------------] (abc:156) 0.043ms --------------. __subclasscheck__ (abc:160) --------------. __subclasscheck__ (abc:165) ----------------[ ABCMeta.__subclasses__ (abc:165) ----------------] ABCMeta.__subclasses__ (abc:165) 0.042ms --------------. __subclasscheck__ (abc:170) ----------------[ set.add (abc:170) ----------------] set.add (abc:170) 0.043ms --------------. __subclasscheck__ (abc:171) --------------< __subclasscheck__ (abc:171): False 1.690ms ------------] (abc:166) 1.887ms ----------. __subclasscheck__ (abc:165) ----------. __subclasscheck__ (abc:170) ------------[ set.add (abc:170) ------------] set.add (abc:170) 0.042ms ----------. __subclasscheck__ (abc:171) ----------< __subclasscheck__ (abc:171): False 3.745ms --------] (abc:166) 3.952ms ------. __subclasscheck__ (abc:165) ------. __subclasscheck__ (abc:166) --------[ (abc:166) ----------> __subclasscheck__ (abc:134) ----------. __subclasscheck__ (abc:137) ----------. __subclasscheck__ (abc:140) ----------. __subclasscheck__ (abc:144) ----------. __subclasscheck__ (abc:147) ------------[ ABCMeta.__subclasshook__ (abc:147) ------------] ABCMeta.__subclasshook__ (abc:147) 0.044ms ----------. __subclasscheck__ (abc:148) ----------. __subclasscheck__ (abc:156) ------------[ (abc:156) ------------] (abc:156) 0.044ms ----------. __subclasscheck__ (abc:160) ----------. __subclasscheck__ (abc:165) ------------[ ABCMeta.__subclasses__ (abc:165) ------------] ABCMeta.__subclasses__ (abc:165) 0.045ms ----------. __subclasscheck__ (abc:166) ------------[ (abc:166) --------------> __subclasscheck__ (abc:134) --------------. __subclasscheck__ (abc:137) --------------. __subclasscheck__ (abc:140) --------------. __subclasscheck__ (abc:144) --------------. __subclasscheck__ (abc:147) ----------------[ ABCMeta.__subclasshook__ (abc:147) ----------------] ABCMeta.__subclasshook__ (abc:147) 0.042ms --------------. __subclasscheck__ (abc:148) --------------. __subclasscheck__ (abc:156) ----------------[ (abc:156) ----------------] (abc:156) 0.043ms --------------. __subclasscheck__ (abc:160) --------------. __subclasscheck__ (abc:165) ----------------[ ABCMeta.__subclasses__ (abc:165) ----------------] ABCMeta.__subclasses__ (abc:165) 0.043ms --------------. __subclasscheck__ (abc:166) ----------------[ (abc:166) ------------------> __subclasscheck__ (abc:134) ------------------. __subclasscheck__ (abc:137) ------------------. __subclasscheck__ (abc:140) ------------------. __subclasscheck__ (abc:144) ------------------. __subclasscheck__ (abc:147) --------------------[ ABCMeta.__subclasshook__ (abc:147) --------------------] ABCMeta.__subclasshook__ (abc:147) 0.044ms ------------------. __subclasscheck__ (abc:148) ------------------. __subclasscheck__ (abc:156) --------------------[ (abc:156) --------------------] (abc:156) 0.049ms ------------------. __subclasscheck__ (abc:160) ------------------. __subclasscheck__ (abc:165) --------------------[ ABCMeta.__subclasses__ (abc:165) --------------------] ABCMeta.__subclasses__ (abc:165) 0.044ms ------------------. __subclasscheck__ (abc:166) --------------------[ (abc:166) ----------------------> __subclasscheck__ (abc:134) ----------------------. __subclasscheck__ (abc:137) ----------------------. __subclasscheck__ (abc:140) ----------------------. __subclasscheck__ (abc:144) ----------------------. __subclasscheck__ (abc:147) ------------------------[ ABCMeta.__subclasshook__ (abc:147) ------------------------] ABCMeta.__subclasshook__ (abc:147) 0.043ms ----------------------. __subclasscheck__ (abc:148) ----------------------. __subclasscheck__ (abc:156) ------------------------[ (abc:156) ------------------------] (abc:156) 0.042ms ----------------------. __subclasscheck__ (abc:160) ----------------------. __subclasscheck__ (abc:165) ------------------------[ ABCMeta.__subclasses__ (abc:165) ------------------------] ABCMeta.__subclasses__ (abc:165) 0.042ms ----------------------. __subclasscheck__ (abc:170) ------------------------[ set.add (abc:170) ------------------------] set.add (abc:170) 0.042ms ----------------------. __subclasscheck__ (abc:171) ----------------------< __subclasscheck__ (abc:171): False 1.574ms --------------------] (abc:166) 1.772ms ------------------. __subclasscheck__ (abc:165) ------------------. __subclasscheck__ (abc:170) --------------------[ set.add (abc:170) --------------------] set.add (abc:170) 0.042ms ------------------. __subclasscheck__ (abc:171) ------------------< __subclasscheck__ (abc:171): False 4.394ms ----------------] (abc:166) 4.592ms --------------. __subclasscheck__ (abc:165) --------------. __subclasscheck__ (abc:166) ----------------[ (abc:166) ------------------> __subclasscheck__ (abc:134) ------------------. __subclasscheck__ (abc:137) ------------------. __subclasscheck__ (abc:140) ------------------. __subclasscheck__ (abc:144) ------------------. __subclasscheck__ (abc:147) --------------------[ ABCMeta.__subclasshook__ (abc:147) --------------------] ABCMeta.__subclasshook__ (abc:147) 0.042ms ------------------. __subclasscheck__ (abc:148) ------------------. __subclasscheck__ (abc:156) --------------------[ (abc:156) --------------------] (abc:156) 0.044ms ------------------. __subclasscheck__ (abc:160) ------------------. __subclasscheck__ (abc:165) --------------------[ ABCMeta.__subclasses__ (abc:165) --------------------] ABCMeta.__subclasses__ (abc:165) 0.044ms ------------------. __subclasscheck__ (abc:166) --------------------[ (abc:166) ----------------------> __subclasscheck__ (abc:134) ----------------------. __subclasscheck__ (abc:137) ----------------------. __subclasscheck__ (abc:140) ----------------------. __subclasscheck__ (abc:144) ----------------------. __subclasscheck__ (abc:145) ----------------------< __subclasscheck__ (abc:145): False 0.350ms --------------------] (abc:166) 0.553ms ------------------. __subclasscheck__ (abc:165) ------------------. __subclasscheck__ (abc:170) --------------------[ set.add (abc:170) --------------------] set.add (abc:170) 0.043ms ------------------. __subclasscheck__ (abc:171) ------------------< __subclasscheck__ (abc:171): False 2.682ms ----------------] (abc:166) 2.876ms --------------. __subclasscheck__ (abc:165) --------------. __subclasscheck__ (abc:170) ----------------[ set.add (abc:170) ----------------] set.add (abc:170) 0.042ms --------------. __subclasscheck__ (abc:171) --------------< __subclasscheck__ (abc:171): False 9.633ms ------------] (abc:166) 9.855ms ----------. __subclasscheck__ (abc:165) ----------. __subclasscheck__ (abc:166) ------------[ (abc:166) --------------> __subclasscheck__ (abc:134) --------------. __subclasscheck__ (abc:137) --------------. __subclasscheck__ (abc:140) --------------. __subclasscheck__ (abc:144) --------------. __subclasscheck__ (abc:147) ----------------[ ABCMeta.__subclasshook__ (abc:147) ----------------] ABCMeta.__subclasshook__ (abc:147) 0.042ms --------------. __subclasscheck__ (abc:148) --------------. __subclasscheck__ (abc:156) ----------------[ (abc:156) ----------------] (abc:156) 0.043ms --------------. __subclasscheck__ (abc:160) --------------. __subclasscheck__ (abc:165) ----------------[ ABCMeta.__subclasses__ (abc:165) ----------------] ABCMeta.__subclasses__ (abc:165) 0.043ms --------------. __subclasscheck__ (abc:170) ----------------[ set.add (abc:170) ----------------] set.add (abc:170) 0.042ms --------------. __subclasscheck__ (abc:171) --------------< __subclasscheck__ (abc:171): False 1.562ms ------------] (abc:166) 1.755ms ----------. __subclasscheck__ (abc:165) ----------. __subclasscheck__ (abc:166) ------------[ (abc:166) --------------> __subclasscheck__ (abc:134) --------------. __subclasscheck__ (abc:137) --------------. __subclasscheck__ (abc:140) --------------. __subclasscheck__ (abc:144) --------------. __subclasscheck__ (abc:147) ----------------[ ABCMeta.__subclasshook__ (abc:147) ----------------] ABCMeta.__subclasshook__ (abc:147) 0.043ms --------------. __subclasscheck__ (abc:148) --------------. __subclasscheck__ (abc:156) ----------------[ (abc:156) ----------------] (abc:156) 0.043ms --------------. __subclasscheck__ (abc:160) --------------. __subclasscheck__ (abc:165) ----------------[ ABCMeta.__subclasses__ (abc:165) ----------------] ABCMeta.__subclasses__ (abc:165) 0.042ms --------------. __subclasscheck__ (abc:170) ----------------[ set.add (abc:170) ----------------] set.add (abc:170) 0.043ms --------------. __subclasscheck__ (abc:171) --------------< __subclasscheck__ (abc:171): False 1.569ms ------------] (abc:166) 1.772ms ----------. __subclasscheck__ (abc:165) ----------. __subclasscheck__ (abc:166) ------------[ (abc:166) --------------> __subclasscheck__ (abc:134) --------------. __subclasscheck__ (abc:137) --------------. __subclasscheck__ (abc:140) --------------. __subclasscheck__ (abc:144) --------------. __subclasscheck__ (abc:147) ----------------[ ABCMeta.__subclasshook__ (abc:147) ----------------] ABCMeta.__subclasshook__ (abc:147) 0.042ms --------------. __subclasscheck__ (abc:148) --------------. __subclasscheck__ (abc:156) ----------------[ (abc:156) ----------------] (abc:156) 0.043ms --------------. __subclasscheck__ (abc:160) --------------. __subclasscheck__ (abc:165) ----------------[ ABCMeta.__subclasses__ (abc:165) ----------------] ABCMeta.__subclasses__ (abc:165) 0.042ms --------------. __subclasscheck__ (abc:170) ----------------[ set.add (abc:170) ----------------] set.add (abc:170) 0.042ms --------------. __subclasscheck__ (abc:171) --------------< __subclasscheck__ (abc:171): False 1.647ms ------------] (abc:166) 1.842ms ----------. __subclasscheck__ (abc:165) ----------. __subclasscheck__ (abc:170) ------------[ set.add (abc:170) ------------] set.add (abc:170) 0.043ms ----------. __subclasscheck__ (abc:171) ----------< __subclasscheck__ (abc:171): False 18.252ms --------] (abc:166) 18.443ms ------. __subclasscheck__ (abc:165) ------. __subclasscheck__ (abc:166) --------[ (abc:166) ----------> __subclasscheck__ (abc:134) ----------. __subclasscheck__ (abc:137) ----------. __subclasscheck__ (abc:140) ----------. __subclasscheck__ (abc:144) ----------. __subclasscheck__ (abc:147) ------------[ ABCMeta.__subclasshook__ (abc:147) ------------] ABCMeta.__subclasshook__ (abc:147) 0.043ms ----------. __subclasscheck__ (abc:148) ----------. __subclasscheck__ (abc:156) ------------[ (abc:156) ------------] (abc:156) 0.044ms ----------. __subclasscheck__ (abc:160) ----------. __subclasscheck__ (abc:165) ------------[ ABCMeta.__subclasses__ (abc:165) ------------] ABCMeta.__subclasses__ (abc:165) 0.044ms ----------. __subclasscheck__ (abc:166) ------------[ (abc:166) --------------> __subclasscheck__ (abc:134) --------------. __subclasscheck__ (abc:137) --------------. __subclasscheck__ (abc:140) --------------. __subclasscheck__ (abc:144) --------------. __subclasscheck__ (abc:147) ----------------[ ABCMeta.__subclasshook__ (abc:147) ----------------] ABCMeta.__subclasshook__ (abc:147) 0.044ms --------------. __subclasscheck__ (abc:148) --------------. __subclasscheck__ (abc:156) ----------------[ (abc:156) ----------------] (abc:156) 0.043ms --------------. __subclasscheck__ (abc:160) --------------. __subclasscheck__ (abc:165) ----------------[ ABCMeta.__subclasses__ (abc:165) ----------------] ABCMeta.__subclasses__ (abc:165) 0.044ms --------------. __subclasscheck__ (abc:166) ----------------[ (abc:166) ------------------> __subclasscheck__ (abc:134) ------------------. __subclasscheck__ (abc:137) ------------------. __subclasscheck__ (abc:140) ------------------. __subclasscheck__ (abc:144) ------------------. __subclasscheck__ (abc:147) --------------------[ ABCMeta.__subclasshook__ (abc:147) --------------------] ABCMeta.__subclasshook__ (abc:147) 0.045ms ------------------. __subclasscheck__ (abc:148) ------------------. __subclasscheck__ (abc:156) --------------------[ (abc:156) --------------------] (abc:156) 0.043ms ------------------. __subclasscheck__ (abc:160) ------------------. __subclasscheck__ (abc:165) --------------------[ ABCMeta.__subclasses__ (abc:165) --------------------] ABCMeta.__subclasses__ (abc:165) 0.043ms ------------------. __subclasscheck__ (abc:170) --------------------[ set.add (abc:170) --------------------] set.add (abc:170) 0.043ms ------------------. __subclasscheck__ (abc:171) ------------------< __subclasscheck__ (abc:171): False 1.624ms ----------------] (abc:166) 1.867ms --------------. __subclasscheck__ (abc:165) --------------. __subclasscheck__ (abc:170) ----------------[ set.add (abc:170) ----------------] set.add (abc:170) 0.041ms --------------. __subclasscheck__ (abc:171) --------------< __subclasscheck__ (abc:171): False 3.866ms ------------] (abc:166) 4.063ms ----------. __subclasscheck__ (abc:165) ----------. __subclasscheck__ (abc:170) ------------[ set.add (abc:170) ------------] set.add (abc:170) 0.043ms ----------. __subclasscheck__ (abc:171) ----------< __subclasscheck__ (abc:171): False 5.968ms --------] (abc:166) 6.159ms ------. __subclasscheck__ (abc:165) ------. __subclasscheck__ (abc:170) --------[ set.add (abc:170) --------] set.add (abc:170) 0.042ms ------. __subclasscheck__ (abc:171) ------< __subclasscheck__ (abc:171): False 31.110ms ----< __instancecheck__ (abc:130): False 32.160ms --] (_cprequest:791) 32.350ms