Ответ: При использовании volatile не будет гарантирована детерминированость.
Не понимаю, что вы сказать хотите. volatile - барьер оптимизации, который запрещает компилятору убирать доступ к памяти и переупорядочивать их, по крайней мере, относительно других volatile-доступов. За кадром обеспечение атомарности (если нужна) и умное железо со своим переупорядочиванием и кэшами.
PS: возвращаясь к "компилятор для разработчика или разработчик для компилятора":
Не хорошо на МК выполнять операции взятия остатка от деления и деление на 2...
Компилятор это оптимизировал в 1974, за исключением остатка:
/*
* Try to change * and / to shifts.
*/
case TIMES:
case DIVIDE:
case ASTIMES:
case ASDIV:
tree = pow2(tree);
}
Код из Unix v6, но по сравнению с v4 только комментарий добавился.
То есть совет перестал работать лет 40 назад, если за 10 лет до mod добрались...
А вы посчитали, что машины смогут восставать из пепла ядерного огня?
Конечно не учёл, вы же не учитывали "Ну если серьёзно..." в соседнем комменте и смайлики в начале ветки и не захотели смотреть на расчёты как на крайние оценки снизу-сверху, призванные напомнить, что компьютеры в принципе жрут немного по сравнению с кондиционерами, металлургическими заводами, людьми и прочими не менее сравнимыми вещами.
Из забавного с volatile: раз его сделали квалификатором типа (а не как в Rust), рядом с ним можно написать register. Но эту конструкцию наделили смыслом только в расширении GCC про конкретные регистры (register T $varname asm("$regname") = 0;), там register кое-как учитывается: https://godbolt.org/z/1554zK8ro.
Из похожего есть load/store с подсказками, что "это в будущем не пригодится" (постараться не кэшировать / побыстрее вытеснить), гуглятся по "non-temporal (NTA) access".
Абсолютно точно. 16 часов нерабочего времени, 2 выходных и 600 грамм муки. На самом деле вы тоже это понимаете, потому что вопросов о техпроцессе производства человеков или почему они "потребляют", а датацентры "едят" не возникло.
Конечно, ведь кВт-ч пшеничной муки дороже электрического.
Ну если серьёзно, то в вопросе энергия была и можно делать выводы из того, что нейронки едят около процента мировой электроэнергии - это очень мало, в новостях про электростанции ерунду раздувают (ноль новых электростанций гораздо-гораздо дешевле одной). С капитальными затратами у кожаных тоже не очень.
Если GCC из 2006 года оптимизировал примеры на -O0 и требовал усилий для сохранения деоптимизации, то на сколько же тогда советы устарели? https://godbolt.org/z/cbssKjbfx
Человек в пересчёте на рабочее время потребляет около 400 ватт и производится всегда по одному техпроцессу. Датацентры сейчас едят полтора процента производимой электроэнергии, около 400 ТВч в год. Люди, соответственно, 7000 ТВч в год (не электро-) (консервативная оценка из 2000 ккал).
А диапазон этот, как правило, вычисляется по какому-то не шибко умному алгоритму через программу. И винил там, разумеется, выдаёт большие значения диапазона (из за меньшего уровня громкости)
Там другое, DR определили примерно как крест-фактор и отсюда две фатальные слабости:
неустойчивость к выбросам - DR трека сильно зависит от двух семплов - от второго пикового уровня (берётся не первый, а второй пик ради номинальной устойчивости)
крест-фактор захватывает слишком короткие изменения, вплоть до формы волны (немного подвигал фазу - получил другой результат)
Осмысленный ответ насчёт степени компрессии будет, если DR заменить на EBU LRA.
троичные вычисления ... их связь со звуком до сих пор не исследована
Взять талант сказительства и продаж, немного денег, неподсанкционную юрисдикцию и вообще-то можно запустить научно обоснованную альтернативу для DSD на основе тритов.
Была какая-то теорема насчёт оптимальности TPDF-дизеринга с размахом в два кванта, а у DSD он невозможен и поэтому нелинейность что-то там (upd: хотя трита ведь тоже будет мало, чтобы избежать насыщения...).
since only two quantization levels exist it is not possible to add a TPDF dither signal of large enough amplitude to the quantizer input without overloading the modulator https://pure.tue.nl/ws/files/3360257/691188.pdf
While for PCM there exists mathematically optimal dither [13], namely TPDF dither (dither with triangularly shaped pdf) spanning 2 LSBs, we cannot expect TPDF dither to linearize the one-bit quantizer simply because it spans only 1 bit. https://www.sonicstudio.com/pdf/papers/1bitOverview.pdf
С чем согласен - так это с необходимостью приложить специалиста, тематика звукоинженерии столь обширна, что простой человек не сможет её охватить хотя бы в рамках применяемых проводников.
Но почему вы думаете, что всё слышимое поддаётся измерению? Надо слушать, на свете есть высшее, которое невозможно измерить приборами. И прослушивание нельзя так оценивать - простые слепые тесты не могут учесть подсознательное влияние (испорченная запись "перенастроила" слушателя и повторять можно не раньше следующего дня). Когда в дело вступают столь тонкие материи, один компонент может проявить "дух" записи - но он уже был потерян при записи на CD (см. условия эксперимента). Есть мнение, что другой компонент способен дух восстановить, но здесь невозможно обойтись лишь кабелем. Создатель "Корвета" (лучшего проигрывателя СССР) исследовал влияние пирамид и трофейных радиоламп. И это не "один скучающий пенсионер" - у отца троичных ЭВМ тоже было мнение, что троичные вычисления восходят к Аристотелю и несут в себе путь с большой буквы (и их связь со звуком до сих пор не исследована).
У него субкультура не такая однобокая - большинство считает, что качество выше CD и есть движение оцифровки винила про это.
Возникает место для игры как с кабелями, но "настоящей" - вносится слышимое несовершенство и его уменьшают, играя в постепенное улучшение (а если эту иглу... а если первопресс отыскать... а если считывать лазером... а если помыть вот так... а если проигрывать по-мокрому... а если оцифровать в DSD256...), но техническое превосходство принимается как аксиома и приёмы ниже пояса (улучшения, которые могут намекнуть на обратное) запрещены, чтобы сохранить игру.
К 1979 добрались (Unix v7 - github).
Не понимаю, что вы сказать хотите. volatile - барьер оптимизации, который запрещает компилятору убирать доступ к памяти и переупорядочивать их, по крайней мере, относительно других volatile-доступов. За кадром обеспечение атомарности (если нужна) и умное железо со своим переупорядочиванием и кэшами.
PS: возвращаясь к "компилятор для разработчика или разработчик для компилятора":
Компилятор это оптимизировал в 1974, за исключением остатка:
Код из Unix v6, но по сравнению с v4 только комментарий добавился.
То есть совет перестал работать лет 40 назад, если за 10 лет до mod добрались...
Где улучшения доведены до конца и будет (если нет инструкции в целевой архитектуре) либо алгоритм с SIMD-within-a-register, либо таблица:
https://github.com/gcc-mirror/gcc/blob/master/libgcc/libgcc2.c#L822
Закономерность ведёт к D и напоминает о пропуске C𝄪 (видимо, пропущен из-за плохой поддержки в юникоде).
А вы посчитали, что машины смогут восставать из пепла ядерного огня?Конечно не учёл, вы же не учитывали "Ну если серьёзно..." в соседнем комменте и смайлики в начале ветки и не захотели смотреть на расчёты как на крайние оценки снизу-сверху, призванные напомнить, что компьютеры в принципе жрут немного по сравнению с кондиционерами, металлургическими заводами, людьми и прочими не менее сравнимыми вещами.
Из забавного с
volatile: раз его сделали квалификатором типа (а не как в Rust), рядом с ним можно написатьregister. Но эту конструкцию наделили смыслом только в расширении GCC про конкретные регистры (register T $varname asm("$regname") = 0;), тамregisterкое-как учитывается: https://godbolt.org/z/1554zK8ro.Из похожего есть load/store с подсказками, что "это в будущем не пригодится" (постараться не кэшировать / побыстрее вытеснить), гуглятся по "non-temporal (NTA) access".
...но если шутку объяснять, она перестанет быть смешной.
Абсолютно точно. 16 часов нерабочего времени, 2 выходных и 600 грамм муки. На самом деле вы тоже это понимаете, потому что вопросов о техпроцессе производства человеков или почему они "потребляют", а датацентры "едят" не возникло.
Ещё *8 часов надо, можно проверить.
Конечно, ведь кВт-ч пшеничной муки дороже электрического.
Ну если серьёзно, то в вопросе энергия была и можно делать выводы из того, что нейронки едят около процента мировой электроэнергии - это очень мало, в новостях про электростанции ерунду раздувают (ноль новых электростанций гораздо-гораздо дешевле одной). С капитальными затратами у кожаных тоже не очень.
Если GCC из 2006 года оптимизировал примеры на -O0 и требовал усилий для сохранения деоптимизации, то на сколько же тогда советы устарели?
https://godbolt.org/z/cbssKjbfx
Когда можно будет перейти на C23 - то и в стандарте:
https://en.wikipedia.org/wiki/C23_(C_standard_revision)#:~:text=stdc_count_ones_
Очень плохо.
В 2024 успешно шло запланированное повышение цен.
В 2023 был незапланированный минимум (исторический, в 2025 цена не вернулась).
Человек в пересчёте на рабочее время потребляет около 400 ватт и производится всегда по одному техпроцессу. Датацентры сейчас едят полтора процента производимой электроэнергии, около 400 ТВч в год. Люди, соответственно, 7000 ТВч в год (не электро-) (консервативная оценка из 2000 ккал).
Так 4-5 единиц DR добавляются, без изменения АЧХ и добавления потрескивания.
APNG
Это из ффмпеговых
-af drmeter,ebur128=framelog=quietТам другое, DR определили примерно как крест-фактор и отсюда две фатальные слабости:
неустойчивость к выбросам - DR трека сильно зависит от двух семплов - от второго пикового уровня (берётся не первый, а второй пик ради номинальной устойчивости)
крест-фактор захватывает слишком короткие изменения, вплоть до формы волны (немного подвигал фазу - получил другой результат)
Осмысленный ответ насчёт степени компрессии будет, если DR заменить на EBU LRA.
Взять талант сказительства и продаж, немного денег, неподсанкционную юрисдикцию и вообще-то можно запустить научно обоснованную альтернативу для DSD на основе тритов.
Была какая-то теорема насчёт оптимальности TPDF-дизеринга с размахом в два кванта, а у DSD он невозможен и поэтому нелинейность что-то там (upd: хотя трита ведь тоже будет мало, чтобы избежать насыщения...).
С чем согласен - так это с необходимостью приложить специалиста, тематика звукоинженерии столь обширна, что простой человек не сможет её охватить хотя бы в рамках применяемых проводников.
Но почему вы думаете, что всё слышимое поддаётся измерению? Надо слушать, на свете есть высшее, которое невозможно измерить приборами. И прослушивание нельзя так оценивать - простые слепые тесты не могут учесть подсознательное влияние (испорченная запись "перенастроила" слушателя и повторять можно не раньше следующего дня). Когда в дело вступают столь тонкие материи, один компонент может проявить "дух" записи - но он уже был потерян при записи на CD (см. условия эксперимента). Есть мнение, что другой компонент способен дух восстановить, но здесь невозможно обойтись лишь кабелем. Создатель "Корвета" (лучшего проигрывателя СССР) исследовал влияние пирамид и трофейных радиоламп. И это не "один скучающий пенсионер" - у отца троичных ЭВМ тоже было мнение, что троичные вычисления восходят к Аристотелю и несут в себе путь с большой буквы (и их связь со звуком до сих пор не исследована).
/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s
У него субкультура не такая однобокая - большинство считает, что качество выше CD и есть движение оцифровки винила про это.
Возникает место для игры как с кабелями, но "настоящей" - вносится слышимое несовершенство и его уменьшают, играя в постепенное улучшение (а если эту иглу... а если первопресс отыскать... а если считывать лазером... а если помыть вот так... а если проигрывать по-мокрому... а если оцифровать в DSD256...), но техническое превосходство принимается как аксиома и приёмы ниже пояса (улучшения, которые могут намекнуть на обратное) запрещены, чтобы сохранить игру.