Christian Heimes added the comment:

__instancecheck__ contains unnecessary code. If we restrict ABCs to new
style classes we could make the function faster:

Old:

    def __instancecheck__(cls, instance):
        """Override for isinstance(instance, cls)."""
        return any(cls.__subclasscheck__(c)
                   for c in {instance.__class__, type(instance)})
New:

    def __instancecheck__(cls, instance):
        """Override for isinstance(instance, cls)."""
        # safe a function call for common case
        if instance.__class__ in cls._abc_cache:
            return True
        return cls.__subclasscheck__(instance.__class__)

----------
assignee:  -> gvanrossum
nosy: +gvanrossum

__________________________________
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1762>
__________________________________
_______________________________________________
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to