Size: a a a

2021 May 14

ПФ

Паша Финкельштейн... in Kotlin Moscow
Вероятно для оптимизации надо звать не setOf, а hashSetOf
источник

AN

Alexander Nozik in Kotlin Moscow
А при чем тут язык. Не каждый день у тебя 400000 элементов. Оно просто не настолько фантастически быстрое как в jvm
источник

ПФ

Паша Финкельштейн... in Kotlin Moscow
В k/jvm setOf создаёт LinkedHashSet, который стоит дороже на добавление
источник

ПФ

Паша Финкельштейн... in Kotlin Moscow
В моём мире никогда нельзя закладываться на то, что ты не понимаешь как работает вот уже 11 лет. Потому что выстрелит в ногу.
источник

AN

Alexander Nozik in Kotlin Moscow
Это верно. Но с другой стороны нельзя объять необъятное. Вебпак там выучить весь или css. В добавок к jvm.
источник

ПФ

Паша Финкельштейн... in Kotlin Moscow
Но вот что вся эта балалайка компилируется разобраться достаточно просто, к счастью. Сурсмапы же
источник
2021 May 15

AN

Alexander Nozik in Kotlin Moscow
Где? В JS-IR не завезли. А даже если бы и завезли, там нечитаемый недоасм на выходе
источник

ПФ

Паша Финкельштейн... in Kotlin Moscow
Хм, надо посмотреть во что там хэшмапа компилится. Скорее всего там можно зацепиться за полезные строки какие-то и понять что происходят. Надо попробовать на чём-то несложном
источник

AN

Alexander Nozik in Kotlin Moscow
Проще исходники стдлибы посмотреть
источник

ПФ

Паша Финкельштейн... in Kotlin Moscow
А так можно? Я думал там всё тришейкается и инлайнится что можно
источник

S

Sergei "SerVB&q... in Kotlin Moscow
Все на чистом Котлине написано, ничего не инлайнится к сожалению: https://github.com/JetBrains/kotlin/blob/ccc27b6a0cecec7af684e943c30ef28e6074f2d3/libraries/stdlib/js/src/kotlin/collections/LinkedHashMap.kt
источник

S

Sergei "SerVB&q... in Kotlin Moscow
Весь наборчик на уровень выше
источник

ПФ

Паша Финкельштейн... in Kotlin Moscow
Там очень быстро приходишь в https://github.com/JetBrains/kotlin/blob/ccc27b6a0cecec7af684e943c30ef28e6074f2d3/libraries/stdlib/js/src/kotlin/collections/InternalMap.kt, который непонятно что такое и какой у него перфоманс
источник

ПФ

Паша Финкельштейн... in Kotlin Moscow
Но в целом видно что надо использовать HashMap, а не LinkedHashMap — в LinkedHashMap опрации за линейное выражение работают кажись
источник

ПФ

Паша Финкельштейн... in Kotlin Moscow
Хотя не, делегируется обычному HashMap, который делегирует InternalMap, который непонятно как работает
источник

S

Sergei "SerVB&q... in Kotlin Moscow
Вот одна из реализаций InternalMap: https://github.com/JetBrains/kotlin/blob/ccc27b6a0cecec7af684e943c30ef28e6074f2d3/libraries/stdlib/js/src/kotlin/collections/InternalHashCodeMap.kt

Кажись юзает обычный JS объект под капотом. Но совершает кучу дополнительных действий.

Вроде все равно O(1) получается, но с большой константой
источник

AN

Alexander Nozik in Kotlin Moscow
Дополнительное мероприятие на английском: https://www.meetup.com/KotlinMoscow/events/278196467/?isFirstPublish=true

Решил, почему бы не сделать через KUG. Заодно освежим новый канал.
источник

Ⓢⓔⓡⓖ in Kotlin Moscow
Коллеги, второй день туплю, помогите решить проблемку
источник

Ⓢⓔⓡⓖ in Kotlin Moscow
Так нельзя что-ли делать в Котлине, или есть обходной путь?
источник

ПФ

Паша Финкельштейн... in Kotlin Moscow
Ну у тебя тут гарантированно бесконечная рекурсия же
источник