Alexander
Visitor писать что-то страшно на вид.
Alexander
Всем спасибо.
Andrey
а что не так?
4 байта же
պլհկ
ух
Andrey
где почитать про [rustc] the parameter type A may not live long enough ?
Αλεχ
4 байта же
ну а как ты иначе представишь часовой пояс?)
Alexander
Так вроде как оффсет может быть не только часовой, но и минутный, хз про секундный.
Αλεχ
https://en.wikipedia.org/wiki/UTC%E2%88%9200:25:21
Andrey
та ну. это какой-то казус. вроде есть кратные 15 минутам только
Αλεχ
это мне напоминает манеру америкосов интерпретировать символы байтами
Αλεχ
причем не когда-то там, а в 2018 году
Αλεχ
"ну у меня все в аски помещается, зачем мне думать о чем-то еще"
Αλεχ
https://habrahabr.ru/post/146109/
Andrey
тот же ISO 8601 определяет таймзоны с точностью до минуты. хватает и i16. но так-то да, можно и в наносекундах померять.
Αλεχ
i16 хватает
Αλεχ
а теперь вспоминаем про выравнивание
Αλεχ
и получаем тот же размер
Αλεχ
так что хватит байтоёптить
Andrey
а зачем bincode тогда? :)
Αλεχ
если ты готов пожертвовать производительностью ради экономии 16 байт то пожалуйста)
Andrey
бит :)
Αλεχ
да
Αλεχ
бит
Αλεχ
http://konishchevdmitry.blogspot.co.uk/2010/01/blog-post.html - полезная статья
Денис
А что мешает сделать структуру из необходимых полей (seconds since epoch, milliseconds) и реализовать From для конвертации в Chrono и обратно? При этом я практически уверен, что хранить таймзону нет необходимости, и достаточно хранить всегда UTC
Evgεny
ничего себе бабораб, статью ей перевел
Денис
պլհկ
*локальных* может быть много
Αλεχ
невыровненные данные это зло почище goto
Αλεχ
лучше уж просрать хоть мегабайт памяти
Денис
какая разница
Разница в том, что на миллион записей ты получаешь два мегабайта оверхеда xD
Αλεχ
но иметь выровненный доступ ко всем структурам в программе
Αλεχ
ты предпочтешь х2 просадку по производительности?
Αλεχ
хотя в статье приводят пример с разницей в 100 раз
Денис
*локальных* может быть много
Локальная тз таки одна :) я понимаю, что есть случаи, когда важно знать, в какой именно зоне был создан таймстамп, но по-моему это скорее редкость
Αλεχ
ничего себе бабораб, статью ей перевел
для нас главное результат - что статья есть
պլհկ
ну я предполагаю что если человек хочет сохранить таймзону - он знает зачем это делает
Денис
ну ок, согласен
Anton
ты предпочтешь х2 просадку по производительности?
Выравнивание здесь вообще никаким боком
Alexander
ну ок, согласен
Ну если честно пока что просто потому что chrone ее в себе содержит. 8мб не думаю что влияют в сравнении со строками.
Αλεχ
Выравнивание здесь вообще никаким боком
очень простым - datetime это обычно 8 байт
Αλεχ
еще одно поле добавляет минимум 4(8)
Αλεχ
так что разницы никакой
Αλεχ
и не надо мозги себе делать)
պլհկ
в хроно можно и naivedatetime юзать, если на таймзоны пофиг
Andrey
хехе. речь же не о size_of, а о размере сериализованных данных
Денис
Ну если честно пока что просто потому что chrone ее в себе содержит. 8мб не думаю что влияют в сравнении со строками.
А, ну это конечно :) мне кажется главное чтобы аллоцируемых данных не было в структуре
Alexander
Andrey
ну потому что DateTime сделан обёрткой над NaiveDateTime
Anton
и не надо мозги себе делать)
Блин, вот ты не вник в задачу и пришёл всех учить выравниванию
Денис
А зачем вникать, надо набрасывать :)
Αλεχ
короче, когдав место хрени начнете делом заниматься - говорите
Αλεχ
сэкономили мегабайт блин на миллионе структур)
Alexander
ЛОЛ
Ну просто если есть абстракции - то мне кажется правильнее их использовать - пусть сериализатор/де хранит и читает байты и забыть от этом навсегда. А не заморачиваться ручным складыванием байтов и тайм-стемпов.
Αλεχ
dis
պլհկ
удивительно, но не все либы заточены под ХАЙ ПЕРФОРМАНС
Alexander
удивительно, но не все либы заточены под ХАЙ ПЕРФОРМАНС
А Раст между прочим это обещает типа как бы.
պլհկ
ну это ж не серьезно
Anton
Он слишком хай-левельный получился, поэтому и пишут на нём хай-левельно)
պլհկ
раст кор тим не может бегать по всем крейтам и чинить им там тормоза
Αλεχ
удивительно, но не все либы заточены под ХАЙ ПЕРФОРМАНС
спорный вопрос, в том же шарпе JSON-сериализация быстрее бинарной
Αλεχ
конечно, так исторически сложилось, но факт забавный
Денис
А Раст между прочим это обещает типа как бы.
Раст обещает отсутствие гонок данных и безопасность памяти при неиспользовании unsafe
Anton
А как же зирокост все дела?
Денис
Просто тот же си вроде как заточен под просто топ хай-перформанс, но далеко не все либы его обеспечивают
Alexander
Так вам.
Alexander
Αλεχ
а что не так?
Αλεχ
твой код работает быстро
պլհկ
если ты его напишешь нормально :-)
պլհկ
как и везде
Alexander
твой код работает быстро
Напомню про итераторы кстати на всякий случай. Это про быстрый код.