Size: a a a

2020 December 15

AP

Aleksei (astynax) Pi... in Haskell Start
Неужели в Go/Rust нет IntMap, которая использует платформенный int как ключ?
источник

QZ

Quet Zal in Haskell Start
Aleksei (astynax) Pirogov
Решение у меня максимально наивное. Но тут и узкое место, это исключительно работа с IntMap
ну тут тоже максимально наивное решение
источник

QZ

Quet Zal in Haskell Start
ну хз зачем платформенный инт как ключ если и так в 20 раз быстрее
источник

AP

Aleksei (astynax) Pi... in Haskell Start
потому что незачем считать ключ для того, что и так прекрасно как ключ работает
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Quet Zal
ну хз зачем платформенный инт как ключ если и так в 20 раз быстрее
Неужели мутабельная мапка оказалась быстрее иммутабельной?! Эка невидаль!
источник

AP

Aleksei (astynax) Pi... in Haskell Start
(иронизирую)
источник

QZ

Quet Zal in Haskell Start
ну взял бы hashtables какие
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Если они иммутабельные, то это тот же IntMap внутри, только с предварительным преобразованием ключа в Int
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Я выкинул лишнее звено в виде получения хэша от числа
источник

QZ

Quet Zal in Haskell Start
вроде говорят мутабельные
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Ну там ST внутри. Так что да, может и быстрее быть...
источник

AP

Aleksei (astynax) Pi... in Haskell Start
real  0m41,875s
user  0m41,295s
sys  0m0,537s

Это HashMap
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Так как у меня только вставки одиночные, то я не получаю профита от мутабельности внутренней.

Если бы были большие апдейты или мержи — получил бы.
источник

AA

A64m AL256m qn<co... in Haskell Start
Aleksei (astynax) Pirogov
Если они иммутабельные, то это тот же IntMap внутри, только с предварительным преобразованием ключа в Int
ващет хешмапы можно сделать не так как интмап сделан и в анордеред контейнерс они теперь сделаны не как интмап
источник

AA

A64m AL256m qn<co... in Haskell Start
Quet Zal
ну взял бы hashtables какие
vector-hashtables надо брать
источник

JS

Jerzy Syrowiecki in Haskell Start
A64m AL256m qn I0
ващет хешмапы можно сделать не так как интмап сделан и в анордеред контейнерс они теперь сделаны не как интмап
в обоих патриция, разве нет?
источник

AA

A64m AL256m qn<co... in Haskell Start
Jerzy Syrowiecki
в обоих патриция, разве нет?
нет, в анордеред контейнерс с определенного момента (довольно давнего уже) HAMT
источник

A

Aragaer in Haskell Start
а у меня stackoverflow 8(
источник

A

Aragaer in Haskell Start
ну то есть понятно, что я сделал через рекурсию, но надеялся на tco
источник

AA

A64m AL256m qn<co... in Haskell Start
да и с тко можно отлично стековерфлоу сделать
источник