Size: a a a

2020 June 18

AP

Alexey Palazhchenko in Go-go!
даже просто комментарий там
источник

AP

Alexey Palazhchenko in Go-go!
источник

S

Sergei in Go-go!
Vladislav Milenin
BenchmarkLen100000-12       100000          0.35 ns/op        0 B/op        0 allocs/op
BenchmarkUtf100000-12       100000      23648 ns/op        0 B/op        0 allocs/op

это lorem ipsum 30137 символов
яж писал про кириллицу, попробуй
s := strings.Repeat("ф", 30137)

или это не про скорость, я в этим бенчмарках нифига не понимаю
источник

AP

Alexey Palazhchenko in Go-go!
источник

PB

Pavel Bezborodov in Go-go!
Я почитал подиагонали этот код прежде, чем писать сюда)
Можно строчку пжлст? Поиск по collision/same hash не осилил(
источник

AP

Alexey Palazhchenko in Go-go!
ссылку на что конкретно? На то, что там баккеты?
источник

VM

Vladislav Milenin in Go-go!
Sergei
яж писал про кириллицу, попробуй
s := strings.Repeat("ф", 30137)

или это не про скорость, я в этим бенчмарках нифига не понимаю
про скорость
с кириллицей немного хуже, да
источник

AP

Alexey Palazhchenko in Go-go!
В начале файла большой комментарий
источник

PB

Pavel Bezborodov in Go-go!
Alexey Palazhchenko
ссылку на что конкретно? На то, что там баккеты?
Мне кажется мы не понимаем друг друга?
Бакеты то окей, хранятся как списки, меня интересует именно что происходит на вставке с коллизией, когда мы приходим в бакет, а там уже есть наш хеш
источник

AP

Alexey Palazhchenko in Go-go!
The data is arranged

// into an array of buckets. Each bucket contains up to

// 8 key/elem pairs. The low-order bits of the hash are

// used to select a bucket. Each bucket contains a few

// high-order bits of each hash to distinguish the entries

// within a single bucket.
источник

AP

Alexey Palazhchenko in Go-go!
Если больше 8 элментов в бакете, то происходит перехеширование
источник

ВС

Владимир Столяров... in Go-go!
Там это названо термином "эвакуация")
источник

PB

Pavel Bezborodov in Go-go!
Я прочитал и понял эвакуацию, вопрос не об этом 😂
источник

ВС

Владимир Столяров... in Go-go!
Pavel Bezborodov
Мне кажется мы не понимаем друг друга?
Бакеты то окей, хранятся как списки, меня интересует именно что происходит на вставке с коллизией, когда мы приходим в бакет, а там уже есть наш хеш
Внутри бакета есть ещё список, куда попадают элементы, у которых одно значение хеша
источник

ВС

Владимир Столяров... in Go-go!
А открытая адресация это когда коллизия пишется в "соседний" бакет
источник

PB

Pavel Bezborodov in Go-go!
Владимир Столяров
А открытая адресация это когда коллизия пишется в "соседний" бакет
Извините, но мне кажется Вы не правы
источник

PB

Pavel Bezborodov in Go-go!
Разрешение списками — это когда у нас бакет - массив цепочек
А открытая — когда бакет массив, а коллизия пишется в следующий (соседний) индекс
источник

ВС

Владимир Столяров... in Go-go!
https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0 - Разрешение коллизий
прямо говорится, где и что такое bucket и где цепочки
дальше спорить не вижу смысла
источник

SS

Stanislav Sagan in Go-go!
Здравствуйте, что делает пакет flag ? это флаги из командной строки?
import "flag"
var ip = flag.Int("flagname", 1234, "help message for flagname")

Источник: https://golang.org/pkg/flag/
Ничего не объяснили, что каждый параметр значит
источник

PB

Pavel Bezborodov in Go-go!
Владимир Столяров
https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0 - Разрешение коллизий
прямо говорится, где и что такое bucket и где цепочки
дальше спорить не вижу смысла
"В массиве H хранятся сами пары ключ-значение. Алгоритм вставки элемента проверяет ячейки массива H в некотором порядке до тех пор, пока не будет найдена первая свободная ячейка, в которую и будет записан новый элемент. Этот порядок вычисляется на лету, что позволяет сэкономить на памяти для указателей, требующихся в хеш-таблицах с цепочками."
https://github.com/golang/go/blob/master/src/runtime/map.go#L626
Что это если не открытая адресация?)
источник