Я выполнил простой рандомизированный тест производительности Cocoa NSSet
против STL unordered_set
. Оба реализованы с использованием хеш-таблиц. Будучи тем, что C++ известен своим высокопроизводительным кодом, я был удивлен, увидев, что NSSet
был ~ 1,5 раза быстрее, чем unordered_set
. Может ли кто-нибудь пролить свет на то, почему это?NSSet vs. unordered_set
P.S. Тест выполнял поиск случайных строк (используя NSString
для NSSet
и basic_string<unichar>
для unordered_set
).
EDIT: Введите код: https://github.com/fumoboy007/StringCollectionSpeedTest.
«C++ известен своим высокоэффективным кодом» ... Ну, может быть, у нас нет того же способа количественной оценки производительности ... – Macmade
Итак, как вы оцениваете производительность? Не оставляй меня висящим! – fumoboy007
Обратите внимание, что NSSet является «беспошлинным мостом» для CFSet, и это открытый источник: http://opensource.apple.com/source/CF/CF-744.18/CFSet.c, поэтому вы можете сравнить реализации, если вы как. –