Size: a a a

Язык программирования Julia / Julia programming language

2021 June 25

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
да, рехаш только на увеличении стоит.
источник

A

Alexandr in Язык программирования Julia / Julia programming language
А уменьшения там скорее всего вообще нет
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Уменьшения нет.
Только удаление.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Точно.
Для этого есть специальный дополнительный вектор slots. Он отслеживает удалённые ключи.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
То есть вообще говоря, можно восстанавливать удалённые ключи 😊))
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Но аккуратно, потому что они видимо могут перезатереться.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
julia> d = Dict(1 => 2, 2 => 3, 3 => 4)
Dict{Int64, Int64} with 3 entries:
 2 => 3
 3 => 4
 1 => 2

julia> d[1]
2

julia> delete!(d, 1)
Dict{Int64, Int64} with 2 entries:
 2 => 3
 3 => 4

julia> d.slots .= 0x01;

julia> d[1]
2
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Но это конечно такое 😊 Немножко хакать особенности имплементации.
источник

A

Alexandr in Язык программирования Julia / Julia programming language
:)
источник

A

Alexandr in Язык программирования Julia / Julia programming language
Вообще круто, не знал что dict с открытой адресацией
источник

DP

Dmitry Penzar in Язык программирования Julia / Julia programming language
оно как ни странно они во многих местах с открытой
источник

DP

Dmitry Penzar in Язык программирования Julia / Julia programming language
в том же питоне тоже
источник

DP

Dmitry Penzar in Язык программирования Julia / Julia programming language
ибо быстрые
источник

A

Alexandr in Язык программирования Julia / Julia programming language
В сях нет. В смысле в сях насколько я знаю не с открытой. Открытые требуют памяти больше
источник

DP

Dmitry Penzar in Язык программирования Julia / Julia programming language
и нет, такое происходить не должно, ибо оно на заполненность таблицы раньше реагирует. там же убывающая геометрическая прогрессия - она от размера словаря не сильно зависит
источник

A

Alexandr in Язык программирования Julia / Julia programming language
getindex не будет медленнее потому что getindex это по сути getindex от вектора. А вот объем занимаемой памяти останется таким же, да как был до удаления.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ммм.. Ну да, getindex не должен сильно меняться, это правильно.

Это скорее влияние окажет на keys итератор.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Который как раз линеен по размеру внутреннего массива.
источник

DP

Dmitry Penzar in Язык программирования Julia / Julia programming language
тут не спорю, да
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
В интернете кто-то с кем-то согласился ^_^
источник