В swift для определения bucket'a по hashValue используется не остаток от деления (hashValue % bucketCount), а побитовое "И" (hashValue & bucketMask) internal let bucketMask: Int bucketMask = bucketCount &- 1 internal func idealBucket(forHashValue hashValue: Int) -> Bucket { return Bucket(offset: hashValue & bucketMask) }
шикарно, благодарю, добавил вашу поправrу в дескрипшен к видео (к сожалению не возможно вставить в само видео) extension _HashTable { @inlinable @inline(__always) internal func idealBucket(forHashValue hashValue: Int) -> Bucket { return Bucket(offset: hashValue & bucketMask) } } github.com/swiftlang/swift/blob/main/stdlib/public/core/HashTable.swift P.S. ChatGPT: Побитовое "И" (hashValue & bucketMask) обычно работает быстрее, чем операция деления с использованием остатка (hashValue % bucketCount). Операции побитового "И" выполняются непосредственно на уровне машинных команд и требуют меньше вычислительных ресурсов. Они выполняются быстрее, поскольку не требуют деления - одной из самых затратных арифметических операций на уровне процессора.
Хорошо раскрываете тему в видео, стало гораздо понятнее! Спасибо за такие ролики - выпускайте видео почаще;)
шикарно, спасибо за фидбэк! Буду делать :)
Класс, с возвращением!
Чувствую, что зашел в ту дверь, интересные ньюансы рассказаны!
Спасибо за разбор, внесли ясность
Спасибо за видео!
Спасибо за новое видео,очень цикава❤
дзякуй! Мне велімі прыемна што вам спадабалася
Приветики, жду всегда новые видео, обнимаю тебя,❤
Ууиии! Спасибо мать :) Целую!
Спасибо большое за доступное объяснение!
спасибо! Рад что вам понравилось! :) Удачи на розыгрыше
Круто!
В swift для определения bucket'a по hashValue используется не остаток от деления (hashValue % bucketCount), а побитовое "И" (hashValue & bucketMask)
internal let bucketMask: Int
bucketMask = bucketCount &- 1
internal func idealBucket(forHashValue hashValue: Int) -> Bucket {
return Bucket(offset: hashValue & bucketMask)
}
шикарно, благодарю, добавил вашу поправrу в дескрипшен к видео (к сожалению не возможно вставить в само видео)
extension _HashTable {
@inlinable
@inline(__always)
internal func idealBucket(forHashValue hashValue: Int) -> Bucket {
return Bucket(offset: hashValue & bucketMask)
}
}
github.com/swiftlang/swift/blob/main/stdlib/public/core/HashTable.swift
P.S. ChatGPT:
Побитовое "И" (hashValue & bucketMask) обычно работает быстрее, чем операция деления с использованием остатка (hashValue % bucketCount).
Операции побитового "И" выполняются непосредственно на уровне машинных команд и требуют меньше вычислительных ресурсов. Они выполняются быстрее, поскольку не требуют деления - одной из самых затратных арифметических операций на уровне процессора.
Такое ощущение, что после hello swift: Lesson 21 что-то пропущено 😁
Класс, ждем роликов про алгоритмы и структуры данных с примерами на swift.
Мб и разбор исходников)
🔥
Хочу билет на конференцию)
Уиии! Удачи на розыгрыше!
Лайк
First non-offensive comment
thanks mate, good luck on Thursday!
падабайка за бульбачку. даеш больш бульбы у адукацыйны працэс
дзякуй дружа!
Спасибо за понятное объяснение 👍