Size: a a a

2019 January 24

AN

Alexander Nozik in Kotlin Moscow
источник

AN

Alexander Nozik in Kotlin Moscow
Ⓢⓔⓡⓖ
@HeapyHop я просмотрел, можно ещё раз?
^
источник

Ⓢⓔⓡⓖ in Kotlin Moscow
Dov
А записи нет?
Не нашёл
источник

AN

Alexander Nozik in Kotlin Moscow
Ⓢⓔⓡⓖ
Хотя я в прошлом году слушал одного чувака из Райффайзенбанка, который ускорил JVM в 100 раз путём манипуляций с настройками ядра Linux, для нужд биржевой торговли. Там счёт идёт на миллисекунды.
Это скорее всего ерунда. JVM можно подкрутить в смысле GC. Непосредственно скорость числодробилки там и так вылизана почти до предела. Я подозреваю, у них там было что-то с очень большим количеством тредов.
источник

VS

Vladimir Sitnikov in Kotlin Moscow
Alexander Nozik
Это скорее всего ерунда. JVM можно подкрутить в смысле GC. Непосредственно скорость числодробилки там и так вылизана почти до предела. Я подозреваю, у них там было что-то с очень большим количеством тредов.
Как знать, как знать.

Векторизация в JVM (если рассматривать обычную OpenJDK) неахти какая.
Минутка рекламы одного из прошедших JPoint (приём заявок на JPoint 2019 ещё открыт): https://jug.ru/talks/jpoint-2017/vector-programming-in-java/
источник

AN

Alexander Nozik in Kotlin Moscow
Не знаю как в 2017, но на jdk11 очень даже ахти
источник

AN

Alexander Nozik in Kotlin Moscow
Кроме того векторизация 100 и даже 10 не даст.
источник
2019 January 25

N

Nikolay in Kotlin Moscow
Надо смотреть что именно они крутили. Какую условно говоря функцию оптимизировали. Может это какой то специфичный случай, что бы из кэшей процессов не высыпало, а может чтобы чтобы даже сгладить влияние частоты обновления заряда в конденсаторах памяти
источник

ТБ

Тимур Бухараев in Kotlin Moscow
Ⓢⓔⓡⓖ
Хотя я в прошлом году слушал одного чувака из Райффайзенбанка, который ускорил JVM в 100 раз путём манипуляций с настройками ядра Linux, для нужд биржевой торговли. Там счёт идёт на миллисекунды.
Для real time систем основная проблема в том, что  jvm ВНЕЗАПНО может все бросить и начать собирать мусор в stop the world паузе.

Идет напряженная торговля, надо опередить чужого робота на пару миллисекунд, и тут в jvm входит бабушка со шваброй, выгоняет нафиг всех электронных аналитиков в коридор, и начинает убираться. Все курят, заявки просрочены, конкуренты ликуют.

Поэтому решение: взять JVM, отвинтить из неё gc и выбросить на помойку. А вместо этого убивать процесс, когда у него память переполнится и заново перезапускать.
источник

Ⓢⓔⓡⓖ in Kotlin Moscow
Хорошая метафора, с бабушкой со шваброй )
источник

AN

Alexander Nozik in Kotlin Moscow
Сейчас есть несколько новых gc с минимизированной паузой и epsilon.
источник

ZD

Z D in Kotlin Moscow
Ⓢⓔⓡⓖ
Хорошая метафора, с бабушкой со шваброй )
+1
источник

ZD

Z D in Kotlin Moscow
Alexander Nozik
Сейчас есть несколько новых gc с минимизированной паузой и epsilon.
Шенандо вроде такая же
источник

AN

Alexander Nozik in Kotlin Moscow
Мне это никогда не было важно (мне надо средний перформанс, а он на гц лучше, чем на рц). Но там сейчас вроде много для этого делают. В статьях все время мелькает.
источник

ZD

Z D in Kotlin Moscow
Alexander Nozik
Мне это никогда не было важно (мне надо средний перформанс, а он на гц лучше, чем на рц). Но там сейчас вроде много для этого делают. В статьях все время мелькает.
"Там" это где?
источник
2019 January 26

AN

Alexander Nozik in Kotlin Moscow
Там это в jdk
источник
2019 January 28

Ⓢⓔⓡⓖ in Kotlin Moscow
#вопрос Как сгенерировать класс с необязательными полями из уже гоотового класса объектной модели?
Например:
data class Address(val city: String, val street: String, val house: String, val flat: String)

В TypeScript конструкция Partial<Address> определяет класс, который похож на Address, но все поля в нём - не обязательные. Это полезно при отслеживании изменений, что пользователь в UI изменил только одно-два поля, а все остальные оставил нетронутыми; и в базу данных изменения также передаются частинчо, а не полностью перезаписывается весь объект.

Как это грамотно сделать на kotlin, применять ли кодогенерацию, интроспекцию, какие идеи?
источник

ИЛ

Илья Линник in Kotlin Moscow
Так copy в дата классах же
источник

AN

Alexander Nozik in Kotlin Moscow
Ⓢⓔⓡⓖ
#вопрос Как сгенерировать класс с необязательными полями из уже гоотового класса объектной модели?
Например:
data class Address(val city: String, val street: String, val house: String, val flat: String)

В TypeScript конструкция Partial<Address> определяет класс, который похож на Address, но все поля в нём - не обязательные. Это полезно при отслеживании изменений, что пользователь в UI изменил только одно-два поля, а все остальные оставил нетронутыми; и в базу данных изменения также передаются частинчо, а не полностью перезаписывается весь объект.

Как это грамотно сделать на kotlin, применять ли кодогенерацию, интроспекцию, какие идеи?
https://kotlinlang.org/docs/reference/data-classes.html#copying А необязательные поля нельзя. Нулябельность нарушается.
источник

Ⓢⓔⓡⓖ in Kotlin Moscow
Для функции copy() нужны структуры, чтобы хранить и передавать изменённые поля. Вопрос в том, как эти структуры генерить автоматически (ну не вручную же их писать?)
источник