Если у нас есть два варианта одного и того же алгоритма (например, вычисление идентичности между двумя строками), работающего с NSRange
(где строка будет преобразована в NSString) или Range<String.Index>
, какой вариант алгоритма будет работать быстрее в swift3?
Обновить
Итак, я протестировал 4 варианта своего кода на игровой площадке, используя
let date_start = NSDate()
//code
print("\(-date_start.timeIntervalSinceNow)")
20,3485659956932 сек Swift 2.2 для кода с использованием Range<String.Index>
31.3328449726105 сек Swift 2.2 для кода с использованием NSRange
12.3670780062675 сек Swift 3 для кода с использованием Range<String.Index>
15,9888380169868 сек Swift 3 для кода с использованием NSRange
Swift3 имеет улучшенную производительность по сравнению со Swift2.2 — почти в два раза. Range<String.Index>
немного лучше, чем NSRange