Про паскаль: На минуточку!... давайте тогда вы уточните, что вы имеете ввиду какой-то древний паскаль, годов эдак 80-х как и большинство языков того времени т.к. уже сто лет в обед паскаль с ООП
Ну так тут всё просто - это самый горячий цикл в нём условно 10 команд, которые процессору нужно исполнить убираем одну - остаётся 9, соотв.скорость увеличили на 10% (но это всё условно т.к. современные процессоры не так просты)
и для языков, где бэкенд GCC/LLVM - там такие перестановки редко могут что-то дать, т.к. они сами переставляют как нужно чаще всего (но не всегда)
В каком смысле? Просто конкретно эта перестановка позволила оптимизатору FPC выкинуть одну ассемблерную инструкцию и это дало такое ускорение, там в цикле было около 12 инструкций, одну выкинули, примитивный расчет дает надежду в 8% Но это примитивный расчет, всё зависит от микроархитектуры процессора, конкретно как инструкции перераспределились и т.п. К примеру, можно сделать ещё одну перестановку, которая даст ещё меньше ассемблерных инструкций (-1), но конкретно на моём процессоре - это наоборот увеличивает время выполнения. Кстати, анализатор llvm-mca - это предсказывает
В общем отвечая на вопрос - и да и нет. Специфично - потому-что у FPC/Delphi оптимизатор не такой мощный, конечно как у LLVM/GCC/MSVC/Intel/etc. Не специфично - потому-что в любом языке я думаю можно найти такой вариант, когда перестановка действий местами - даёт ускорение.
В общем вопрос встречный остается в силе - что вы имеете ввиду под "специфичное для паскаля?"
Также хочу обратить внимание на ZCAD https://github.com/zamtmn/zcad Это open source проект - небольшая CAD система, обладающая высоким быстродействием даже на огромных чертежах. Читает только файлы DXF 2000. К сожалению пока там много недоделок - есть определенная нехватка некоторых примитивов и инструментов, но проект активно развивается. Недавно появился инструментарий для черчения схем принципиальных например. Интерфейс в стиле классики AutoCad. Черчение мало чем отличается от автокадовского. Есть собственная база данных изделий, и возможность генерации некоторых отчетов
А есть какие-нибудь симуляторы где можно накидать труб разного диаметра повешать радиаторы, условно включить условный котёл и видеть тепловую карту как теплоноситель начал распространяться.... чтобы можно было разные конфигурации протестировать в симуляторе.... конечно с различными упрощениями но чтобы более менее похожее на правду было
Пожалуйста, распишите суть всего этого - у нас раньше дома так и сделали (задрали горячую подачу под потолок) и я всё никак не могу понять как это помогает или не помогает циркуляции, объясните пожалуйста на пальцах когда задирают подачу что происходит и когда получается опускают обратку и котёл как можно ниже что происходит
С духовкой как раз проблем нету, у неё есть на лицевой панеле выключатель, он физически размыкает цепь питания - тоже самое что выдернуть вилку из розетки
Кроме того, духовка это ТЭН, а ТЭНу и железо - им практически нет разницы что на них подадут - к пожару это не приведёт
если бы беспроводное реле было в металлическом корпусе или из пластмассы не поддерживающей горение, то тогда я бы меньше беспокоился
Автомат не поможет - он защищает только от значительной (от 2х раз) перегрузки по току (электромагнитынй расцепитель), либо же от незначительной (от 1,45х раз) но за длительное время (тепловой расцепитель)
Поможет реле-напряжения
Вводной контактор поможет тем, что можно полностью всё обесточить - если электричество не требуется
Ну и наверняка в инструкции ко всем розеткам пишется "не оставлять включенным без присмотра" или что-то подобное (но это не точно, может и не пишут)
Вот бы сохранить Избранное со всеми постами + комментариями к ним
https://github.com/AlexanderBagel/CPUView
При сохранении производительности? 😄
Grafana?
Про паскаль:
На минуточку!... давайте тогда вы уточните, что вы имеете ввиду какой-то древний паскаль, годов эдак 80-х
как и большинство языков того времени
т.к. уже сто лет в обед паскаль с ООП
И кстати напрямую понять, что вот эта перестановка удаляет одну ассемблерную инструкцию конечно же нельзя, я просто протестировал и получилось
Ну так тут всё просто - это самый горячий цикл
в нём условно 10 команд, которые процессору нужно исполнить
убираем одну - остаётся 9, соотв.скорость увеличили на 10%
(но это всё условно т.к. современные процессоры не так просты)
и для языков, где бэкенд GCC/LLVM - там такие перестановки редко могут что-то дать, т.к. они сами переставляют как нужно чаще всего (но не всегда)
А чего это только школьников и студентов?
Кстати, ещё есть Lazarus (Freepascal)
В каком смысле? Просто конкретно эта перестановка позволила оптимизатору FPC выкинуть одну ассемблерную инструкцию и это дало такое ускорение, там в цикле было около 12 инструкций, одну выкинули, примитивный расчет дает надежду в 8%
Но это примитивный расчет, всё зависит от микроархитектуры процессора, конкретно как инструкции перераспределились и т.п.
К примеру, можно сделать ещё одну перестановку, которая даст ещё меньше ассемблерных инструкций (-1), но конкретно на моём процессоре - это наоборот увеличивает время выполнения.
Кстати, анализатор llvm-mca - это предсказывает
В общем отвечая на вопрос - и да и нет.
Специфично - потому-что у FPC/Delphi оптимизатор не такой мощный, конечно как у LLVM/GCC/MSVC/Intel/etc.
Не специфично - потому-что в любом языке я думаю можно найти такой вариант, когда перестановка действий местами - даёт ускорение.
В общем вопрос встречный остается в силе - что вы имеете ввиду под "специфичное для паскаля?"
Если тут:
Сделать так:
Это даст ускорение ~ 10-13% (FPC 3.3.1)
(правда это при компиляции под x64, при компиляции под x32 разницы нет)
deleted
Также хочу обратить внимание на ZCAD https://github.com/zamtmn/zcad Это open source проект - небольшая CAD система, обладающая высоким быстродействием даже на огромных чертежах. Читает только файлы DXF 2000. К сожалению пока там много недоделок - есть определенная нехватка некоторых примитивов и инструментов, но проект активно развивается. Недавно появился инструментарий для черчения схем принципиальных например. Интерфейс в стиле классики AutoCad. Черчение мало чем отличается от автокадовского. Есть собственная база данных изделий, и возможность генерации некоторых отчетов
Спасибо за ответ!
А есть какие-нибудь симуляторы где можно накидать труб разного диаметра повешать радиаторы, условно включить условный котёл и видеть тепловую карту как теплоноситель начал распространяться.... чтобы можно было разные конфигурации протестировать в симуляторе.... конечно с различными упрощениями но чтобы более менее похожее на правду было
А сам "тепло-вода" канал и его предпочтения в разводке вы как оцениваете? Правильно говорит всё?
Пожалуйста, распишите суть всего этого - у нас раньше дома так и сделали (задрали горячую подачу под потолок) и я всё никак не могу понять как это помогает или не помогает циркуляции, объясните пожалуйста на пальцах когда задирают подачу что происходит и когда получается опускают обратку и котёл как можно ниже что происходит
Что можете сказать о Manticore?
https://manticoresearch.com/
Где у этого "Open Source Search Server" исходники, интересно, как-то мало доверия после такого долго застоя и постов разработчиков Manticore на хабре
С духовкой как раз проблем нету, у неё есть на лицевой панеле выключатель, он физически размыкает цепь питания - тоже самое что выдернуть вилку из розетки
Кроме того, духовка это ТЭН, а ТЭНу и железо - им практически нет разницы что на них подадут - к пожару это не приведёт
если бы беспроводное реле было в металлическом корпусе или из пластмассы не поддерживающей горение, то тогда я бы меньше беспокоился
Автомат не поможет - он защищает только от значительной (от 2х раз) перегрузки по току (электромагнитынй расцепитель), либо же от незначительной (от 1,45х раз) но за длительное время (тепловой расцепитель)
Поможет реле-напряжения
Вводной контактор поможет тем, что можно полностью всё обесточить - если электричество не требуется
Ну и наверняка в инструкции ко всем розеткам пишется "не оставлять включенным без присмотра" или что-то подобное (но это не точно, может и не пишут)