FizzBuzz revisited
Apr. 3rd, 2021 05:40 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Как выжать максимум производительности из FizzBuzz на C
Любопытно, хотя я бы остановился гораздо раньше, потому что я считаю, что maintainability в норме ценнее, чем производительность.
Любопытно, хотя я бы остановился гораздо раньше, потому что я считаю, что maintainability в норме ценнее, чем производительность.
no subject
Date: 2021-04-03 04:05 pm (UTC)no subject
Date: 2021-04-04 05:00 pm (UTC)no subject
Date: 2021-04-04 06:32 pm (UTC)no subject
Date: 2021-04-06 01:05 pm (UTC)подозреваюуверен, что получившийся монстр будет зачитываться в память дольше.Собственно, даже если и бинарник, и результаты будут изначально в памяти (на ram-диске), то всё равно тупое копирование длинной строки байтов -- не самый быстрый способ получить выходную строку. Оптимизированные "на скорость" (а не "на объём") алгоритмы сжатия (ну то есть, разжатия) заполняют её быстрее, за счёт меньшего количества чтений из памяти исходной строки (собственно алгоритм оказывается дешевле). А результат fizzbuzz, очевидно, хорошо сжимается.
Кому тут ещё санитары нужны?
... Press any key... No, no, no, NOT THAT ONE! ...
no subject
Date: 2021-04-06 01:54 pm (UTC)(подумав) Вообще-то можно было на PL/I достаточно полной реализации, но не настолько чисто. Потому что препроцессором PL/I был PL/I (подмножество, но ифы, циклы и операции со строками точно входили... более того, если я правильно помню, то именно в препроцессорном режиме строки были "условно бесконечными" (в настоящем скомпилированном PL/I только с максимальной длиной)).
... No, raba ji brili ga aurmo ...