>> > If further guarantees are proposed, perhaps it would be a good idea to >> > open a new thread and state what exactly is being proposed. >> >> "Insertion ordered until the first key removal" is the only guarantee >> that's being proposed. > > Is it? It seems to me that many arguments being made are only relevant > under the hypothesis that insertion is ordered even after the first key > removal. For example the user-friendliness argument, for I don't > think it's very user-friendly to have a guarantee that disappears > forever on the first __del__. >
I agree with Antoine. It's "hard to explain" than "preserving insertion order". Dict performance is important because it's used for namespace. But delete-heavy workload is not happen for namespace. It may make workloads like LRU caching slightly. But I don't think performance gain is large enough. Many overhead comes from API layer wrapping LRU cache. (e.g. functools.lru_cache) So I expect performance difference can be found only on some micro benchmarks. Additionally, class namespace should keep insertion order. It's language spec from 3.6. So we should have two mode for such optimization. It makes dict more complicated. So I'm +0.5 on making dict order as language spec, and -1 on "preserves insertion order until deletion" idea. But my expect may be wrong. Serhiy is working on it so I'm waiting it to benchmark. Regards, INADA Naoki <songofaca...@gmail.com> _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com