Nick Coghlan added the comment:

Did you try moving the existing single-argument fast path to before the main if 
statement in _make_key? That is:

    if not kwds and len(args) == 1:
         key = args[0]
         key_type = type(key)
         if key_type in fasttypes:
             if typed:
                 return key, key_type
             return key

Such a special case is already present, but it's *after* a lot of the other 
processing *and* it doesn't fire when typed==True.

So instead of the simple 2-tuple creation above, you instead do the relatively 

    args + tuple(type(v) for v in args)


Python tracker <>
Python-bugs-list mailing list

Reply via email to