3 ms·
You're right, a point was a bit contrived example and some more practical use case should have been the example. But the bottom line still stands. If you have
by exDM69 13y ago
You're right, a point was a bit contrived example and some more practical use case should have been the example. But the bottom line still stands.
If you have a class in Python, the member variable lookup will essentially be a hash table lookup (requires at least a little pointer traversal). By contrast, looking up a member variable is a compile time constant offset to a known pointer value. It's O(1) vs. O(1) but a huge difference in the constant factor.
Yep, using a tuple would be a little better if you were actually writing Python code but it would be comparing apples to oranges when it comes to this example case.
edit note: a dict and class are equal only in CPython, see this video linked in the OP http://vimeo.com/61044810 http://vimeo.com/61044810 - it discusses various optimizations regarding classes vs. dicts in PyPy etc