Size: a a a

Compiler Development

2019 October 09

AZ

Alexander Zaitsev in Compiler Development
а почему не ryu какой-нибудь?
источник

E

EgorBo in Compiler Development
Alexander Zaitsev
а почему не ryu какой-нибудь?
я выше ссылку на него дал)
источник

AZ

Alexander Zaitsev in Compiler Development
Ааа, прошу прощения 😊 я не открывал 😊
источник

AZ

Alexander Zaitsev in Compiler Development
я просто к тому, что к нам в рантайм завозят именно Ryu
источник

M

MaxGraey in Compiler Development
источник

M

MaxGraey in Compiler Development
MaxGraey
там используется double-double представление что намного эффективнее f128 или модулярной арифметики
источник

E

EgorBo in Compiler Development
Alexander Zaitsev
я просто к тому, что к нам в рантайм завозят именно Ryu
из быстрого гугления пишут что он немного на память давит и размер бинаря из-за таблиц на пару десятков кб увеличивается
источник

AZ

Alexander Zaitsev in Compiler Development
EgorBo
из быстрого гугления пишут что он немного на память давит и размер бинаря из-за таблиц на пару десятков кб увеличивается
честно говоря мне вообще пофиг на это. меня в первую очередь интересует скорость :)
источник

AZ

Alexander Zaitsev in Compiler Development
особенно если мы говорим про "пару десятков кб"
источник

E

EgorBo in Compiler Development
тут 10кб, там 10кб)
источник

E

EgorBo in Compiler Development
вон kkrieger в 96кб вмещался весь))
источник

AZ

Alexander Zaitsev in Compiler Development
ну это обычный трейдофф "скорость-память". Я предпочитаю выбирать скорость 😊 да и собирают чаще с O3, а не Os. Кому надо будет - подтянут алгоритм нужный им
источник

DP

Dmitry Ponyatov in Compiler Development
Peter Sovietov
Судя по всему, на базе института Келдыша.
Или НИИ58 КНР :)
источник

E

EgorBo in Compiler Development
Alexander Zaitsev
ну это обычный трейдофф "скорость-память". Я предпочитаю выбирать скорость 😊 да и собирают чаще с O3, а не Os. Кому надо будет - подтянут алгоритм нужный им
я кстати рантайм дотнет собрал через Oz и O2 — разница была 2мб -_- для 5мб бинаря
источник

E

EgorBo in Compiler Development
на msvc вернее разницы почти не было, а вот на кланге...
источник

M

MaxGraey in Compiler Development
Интерестно, что swift использует Grisu2 c фолбеком в Errol4
источник

E

EgorBo in Compiler Development
вернее даже -О2 и какой-то флаг отключающий луп анрол уже минус мегабайт
источник

M

MaxGraey in Compiler Development
EgorBo
тут 10кб, там 10кб)
Мне стало интерестно, можно ли эту одну таблицу факторизировать и разбить на две, а оказалось, что это и так уже сделано:
https://github.com/ulfjack/ryu/blob/master/ryu/d2s_full_table.h#L23
источник

E

EgorBo in Compiler Development
ну у нас главный по намбер форматтинг (Таннер) вроде делал прототип но решил отложить (обещал отложить на это лето...)
источник

M

MaxGraey in Compiler Development
В принципе можно сделать вообще без таблицы когда приоритетом будет размер а не скорость, это не должно быть сильно сложно. У нас в стандартной библиотеке я частенько разделяю speed/size подходы через условную компиляцию
источник