On Fri, 20 Dec 2019 at 13:24, Philippe <[email protected]> wrote: > > >> just using std::unordered_map would have minimal effort on our side > >> ("someone else's problem", and it's not even a random 3rd party...) > > std::unordered_map is before all an interface and the implemenation varies > according to the library supplier.
That is not entirely correct. The standard doesn't specify mere interfaces; the complexity requirements and validity requirements specify far more than that. Especially in the case of std::unordered_map, it's impossible to implement in a way that provides better performance than what the stdlib vendors already provide. We *have* better hash tables in libstdc++, but their advantages over std::unordered_map go away due to the way unordered_map needs to work. I do agree with the rest of what you're saying, see below. > And X-Platorm Qt users would expect performance consistency I guess. The performance of stdlib facilities is 95% portable, modulo bugs. But that's why I agree with your more salient point. Lars's hash gives us *better* portable performance than std::unordered_map gives us, because std::unordered_map can't be implemented with significantly better performance. QHash can. _______________________________________________ Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
