
Dmitry
17.03.2018
16:40:49
Я просто много на конференциях вижу обсуждения перфоманса сериализаторов, пиар моши и т.п.
Хотя мне кажется, что если у вас сериализация как-то сопоставима с сетевыми задержками - надо решать проблемы перфоманса переходом на бинарные протоколы, а не тянуть осла за яйца.

Quantum Harmonizer
17.03.2018
16:41:08

Dmitry
17.03.2018
16:43:04

Quantum Harmonizer
17.03.2018
16:43:19

Google

Mikhail
17.03.2018
16:45:24

Тимур
17.03.2018
16:45:42
Можно ли унаследоваться от generic параметра?
class Proxy<T>: T {
}
Оно ругается, что only classes and interfaces may serve as supertypes, но может его как то можно уговорить.

Dmitry
17.03.2018
16:46:02

Quantum Harmonizer
17.03.2018
16:46:30

Mikhail
17.03.2018
16:49:40
Ну я сомневаюсь, что стриминг быстрее
Но как это бенчмаркать - не понятно

Quantum Harmonizer
17.03.2018
16:50:12

Mikhail
17.03.2018
16:50:39
Может мы про разный стриминг говорим

Sergey
17.03.2018
16:51:22

Mikhail
17.03.2018
16:51:30
Я про тот, что данные приходят частями, либа кидает эвенты на начало объекта, конец, на каждый филд

Quantum Harmonizer
17.03.2018
16:51:57
ненавистник синглтонов в треде :) https://youtrack.jetbrains.com/issue/KT-23304

Google

Mikhail
17.03.2018
16:53:42
Ну вот когда данные влезают в память, дешевле сразу все прочитать и не заморачиваться с эвентами

Quantum Harmonizer
17.03.2018
16:54:48

Igor
17.03.2018
16:55:27

Quantum Harmonizer
17.03.2018
16:55:48

Даниил
17.03.2018
16:57:34

Mikhail
17.03.2018
16:57:35

Даниил
17.03.2018
16:58:07

Quantum Harmonizer
17.03.2018
16:58:14

Даниил
17.03.2018
16:58:36
ок, тогда согласен с тобой

Quantum Harmonizer
17.03.2018
17:00:40
Лучше бы, конечно, компилятор отказывался это компилировать, но уже поздно.

Mikhail
17.03.2018
17:12:25
Я не об этом вообще. Данные в памяти.
есть еще вариант, когда нужны не все данные, boon парсит в мапу, которая знает из какого места в исходных данных вытащить значение, и создает отдельные значения только по требованию
парсит быстро, но если начинать оттуда что-то читать, то производительно резко просидает

Quantum Harmonizer
17.03.2018
17:51:55

DY
17.03.2018
19:09:31
? ошибок же нет, в каком плане "не поддерживается"?

Quantum Harmonizer
17.03.2018
19:09:58
Нельзя написать val ((a), (b)) = ...

DY
17.03.2018
19:10:16
а, понял)

sne18
17.03.2018
19:20:03
Всем привет! Создана московская группа Kotlin, присоединяйтесь! Вскоре сделаем оффлайновый митап.
https://www.meetup.com/Kotlin-Moscow

Mikhail
17.03.2018
19:35:21
Скорость парсинга это, конечно круто, но меня протобуф подкупает больше всего тем, что proto-файл - хорошая спека, а в JSON даже комментарии не воткнешь
Ну и автогенерация pojo

Google

Sergey
17.03.2018
20:09:16
@relizarov а планируется ли добавить возможность получения контекста корутины вне билдера? сейчас это делать можно, но довольно костыльно

Roman
17.03.2018
20:12:21
Уже есть в 1.2.30.

Sergey
17.03.2018
20:13:45
и правда, круто, спасибо)

Mikhail
17.03.2018
20:38:47
на графики на днях добавлю
может ночью запущу бенчмарк всего сначала
он часа 4 длится
непонятно что kotlinx.serialization делает в компайлтайме, но это никак не помогает, оно медленнее джавовых рантайм аналогов на порядок

Leonid
17.03.2018
20:46:54
Пока что это technology preview, перфоманс будет чуть позже шлифоваться
Но рефлексии там действительно нет, что позволяет все на Js и Native запускать

Sergey
17.03.2018
20:48:49
пс кто не в курсе @sandwwraith это главный контрибьютор kotlinx.serialization :)

Наиль
17.03.2018
20:54:51
а у kotlin/native есть инструменты для работы с websocket?

Sergey
17.03.2018
20:55:52
В планах сделать отдельную от ktor.io библиотеку с блекджеком и асинхронными сокетами.

Sergey
17.03.2018
20:55:52
kotlinx.io Туда постепенно переедут и асинхронные сокеты

Quantum Harmonizer
17.03.2018
20:56:09
Хмм, странно, что прям на порядок. Надо перепроверить)

Mikhail
17.03.2018
20:57:29
ну не на всех тестах, но все равно сильно медленнее

Наиль
17.03.2018
21:09:11
kotlinx.serialization позволяет мапить json(и не только) в классы. А как можно работать в kotlin/native c json в более динамической манере не мапя его в класс. например как в библиотеке klaxon c использованием LOW LEVEL API https://github.com/cbeust/klaxon#low-level-api. ?

Mikhail
17.03.2018
21:12:25
Ну хорошо, если этому есть какое-либо применение

Тимур
17.03.2018
21:14:34
а когда планируете kotlinx.serializer добавить?
А какой сейчас статус у kotlinx.serialization?
я несколько раз перечитал страничку на гитхабе, то так и не понял, можно пользоваться или нет
по описанию скорее создается впечатление, что все готово

Sergey
17.03.2018
21:14:58
>Пока что это technology preview, перфоманс будет чуть позже шлифоваться
в слаке часто вижу народ уже активно у себя юзают

Google

Sergey
17.03.2018
21:15:42
пока еще 0.4.2 версия, релиза не было
проекту полгода

Mikhail
17.03.2018
21:16:08
8 месяцев
т.е. все что версии 0.х не стоит серьезно рассматривать?

Тимур
17.03.2018
21:17:46
по версии непонятно
у корутин вон версия 0.22.5
но при этом в докладах прямо говорится: берите и смело пользуйтесь

Admin
ERROR: S client not available

Тимур
17.03.2018
21:22:31
вообще это по хорошему надо явно на гитхабе писать, в каком оно состоянии и можно ли это использовать

Sergey
17.03.2018
21:24:01
вместе с 1.3
кафка вон тоже без стабильного релиза сколько жила

Тимур
17.03.2018
21:28:44
тем не менее я их уже в продакшен прикрутил, потому что разработчики сказали что все готово ) даже несмотря на внушающий ужас флажок экспериментального статуса
надо же как то понимать, можно брать или нет
выяснять это опытным путем, набивая шишки, как то не хочется

Sergey
17.03.2018
21:30:10
ну так понимаю это +- финальная версия апи, а вот внутренности будут еще меняться чтобы перформанс был получше, код почище и все такое
а то я видел внутри закомменченные println :)
а вообще у @sandwwraith лучше поспрашивай

Leonid
17.03.2018
21:36:45

Sergey
17.03.2018
21:38:08
https://github.com/Kotlin/kotlinx.serialization/blob/master/runtime/common/src/main/kotlin/kotlinx/serialization/json/JSON.kt#L377

Leonid
17.03.2018
21:41:28

stas
17.03.2018
21:43:03
не подскажите где можно почитать про создание вер приложения на ktor?

Leonid
17.03.2018
21:43:44
Глянь kotlin-fullstack-sample или quickstart в документации ktor

Google

Mikhail
17.03.2018
23:06:06
я тут klaxon еще погонял, он что-то вообще не очень
https://pastebin.com/YUErFA29

Quantum Harmonizer
18.03.2018
06:46:34

Konstantin
18.03.2018
08:17:52
А кто-нибудь может подсказать, как с gradle забандлить все в один файл в kotlin js?

Ivan
18.03.2018
08:47:33
Плюс там же кодогенерация? Это значит удаление поля из середины ломает все приёмщики

Alexey
18.03.2018
09:00:18
Достаточно адекватный плюс?
Если места жалко, то json просто ахрененно зипуется

Ivan
18.03.2018
09:02:48
А, да, у меня на работе сейчас 4 разных бинарных формата, я вам скажу отладка всёго этого - то ещё удовольствие
Один порядок байт чего стоит
А главное, все бинарные сериализаторы - как один говно, есть единственный лучик здравого смысла - это one-nio, но он не особо популярен, плюс java-only =(

Quantum Harmonizer
18.03.2018
09:05:30

Ivan
18.03.2018
09:06:59
Вовсе не значит.
С чего бы это? Вот код, который по смещению 42 ожидает инт, вы этот инт удаляете, за ним идёт строка. Получается этот код откусит от строки 4 байта