Contrasting dict.__setitem__ with super().__setitem__, the latter adds one function call. In addition, both forms require a builtin lookup and an attribute lookup.
In PyPy, much of the overhead of builtin lookups, function calls, and attribute lookups is automatically optimized away.
Edit: To be clear I would not advocate not using super() on account of this, as I said it'll eventually be fixed.
"The calculation depends on both the class where super is called and on the instance’s tree of ancestors."
I agree that the class's MRO can be computed ahead of time, but theoretically the instance's order could be different (if a class method changed the definition of __setitem__)
From the docs:
"super(type[, object-or-type])" <-- python2 doc, type is required
"super([type[, object-or-type]])" <-- type is optional in python3