Size: a a a

Rust — русскоговорящее сообщество

2021 June 28

PI

Pavel Ivanov in Rust — русскоговорящее сообщество
В частности приватный модуль read, но там и много всего другого
источник

D

Denis in Rust — русскоговорящее сообщество
тогда остаётся только форкать, чтобы можно было подсунуть кастомный сид
источник

D

Denis in Rust — русскоговорящее сообщество
ну в общем как-то простого пути не предвидится :(
источник

PI

Pavel Ivanov in Rust — русскоговорящее сообщество
ух, одна грусть и тоска
источник

D

Denis in Rust — русскоговорящее сообщество
да, но кажется, что это должно очень просто делаться, всего лишь надо прокинуть сид и заменить вызов десериализации..
источник

PI

Pavel Ivanov in Rust — русскоговорящее сообщество
если никак, то я уж тогда остануть на двухэтапной десериализации
форкать и копипастить никакого желания нет
источник

D

Denis in Rust — русскоговорящее сообщество
источник

PI

Pavel Ivanov in Rust — русскоговорящее сообщество
В смысле сделать pull request в upstream?
источник

D

Denis in Rust — русскоговорящее сообщество
в перспективе — почему бы и нет?
источник

D

Denis in Rust — русскоговорящее сообщество
в качестве альтернативы можно попробовать https://docs.rs/json/0.12.4/json/ , но тогда придётся свои типы "вручную" десериализовывать
источник

D

Denis in Rust — русскоговорящее сообщество
хотя тоже вопрос, умеет ли он в стриминг
источник

D

Denis in Rust — русскоговорящее сообщество
а контроля над входным потоком нет? а то можно было бы какой-нибудь Framed протокол навернуть, типа построчные json'ы использовать или что-то такое
источник

PI

Pavel Ivanov in Rust — русскоговорящее сообщество
Да он вряд ли умеет стрминг, вряд ли умеет zero allocation и zero copy, и т.д.
источник

D

Denis in Rust — русскоговорящее сообщество
ну про стриминг — вопрос, а так-то он в два раза быстрее serde работает, так что подозреваю, никаких аллокаций не делает
источник

D

Denis in Rust — русскоговорящее сообщество
а нет, таки не умеет в зеро-копи
источник

PI

Pavel Ivanov in Rust — русскоговорящее сообщество
Ну serde по умолчанию делает аллокации, если не ссылочные типы в структурах используются. Так что я не знаю откуда цифра про в 2 раза быстрей.
источник

D

Denis in Rust — русскоговорящее сообщество
так, посмотрел внимательней, это он на stringify в два раза быстрее :(
источник

D

Denis in Rust — русскоговорящее сообщество
не, у него parse без лайфтаймов вообще, всё, забыли =)
источник

PI

Pavel Ivanov in Rust — русскоговорящее сообщество
Четкого контроля нет.
Входной поток обычно разбит по строчкам, но может и содержать лишние данные до или после json объекта. Терять их нельзя.
источник

D

Denis in Rust — русскоговорящее сообщество
да, печаль
источник