Pull to refresh
15
0
Али Касантаев @ALLIGATOR

Пользователь

Send message

Вот бы сохранить Избранное со всеми постами + комментариями к ним

Зацените какой у нас есть потрясный отладчик
Зацените какой у нас есть потрясный отладчик

Про паскаль:
На минуточку!... давайте тогда вы уточните, что вы имеете ввиду какой-то древний паскаль, годов эдак 80-х
как и большинство языков того времени
т.к. уже сто лет в обед паскаль с ООП

И кстати напрямую понять, что вот эта перестановка удаляет одну ассемблерную инструкцию конечно же нельзя, я просто протестировал и получилось

Ну так тут всё просто - это самый горячий цикл
в нём условно 10 команд, которые процессору нужно исполнить
убираем одну - остаётся 9, соотв.скорость увеличили на 10%
(но это всё условно т.к. современные процессоры не так просты)

и для языков, где бэкенд GCC/LLVM - там такие перестановки редко могут что-то дать, т.к. они сами переставляют как нужно чаще всего (но не всегда)

А чего это только школьников и студентов?

Кстати, ещё есть Lazarus (Freepascal)

В каком смысле? Просто конкретно эта перестановка позволила оптимизатору FPC выкинуть одну ассемблерную инструкцию и это дало такое ускорение, там в цикле было около 12 инструкций, одну выкинули, примитивный расчет дает надежду в 8%
Но это примитивный расчет, всё зависит от микроархитектуры процессора, конкретно как инструкции перераспределились и т.п.
К примеру, можно сделать ещё одну перестановку, которая даст ещё меньше ассемблерных инструкций (-1), но конкретно на моём процессоре - это наоборот увеличивает время выполнения.
Кстати, анализатор llvm-mca - это предсказывает

В общем отвечая на вопрос - и да и нет.
Специфично - потому-что у FPC/Delphi оптимизатор не такой мощный, конечно как у LLVM/GCC/MSVC/Intel/etc.
Не специфично - потому-что в любом языке я думаю можно найти такой вариант, когда перестановка действий местами - даёт ускорение.

В общем вопрос встречный остается в силе - что вы имеете ввиду под "специфичное для паскаля?"

Если тут:

repeat
  cc:=c*c;
  dd:=d*d;
  d:=(c+c)*d+n;
  c:=cc-dd+m;
  dec(t);
until (t=0) or (cc+dd>1000000.0);

Сделать так:

repeat
  dd:=d*d;
  d:=(c+c)*d+n;
  cc:=c*c;
  c:=cc-dd+m;
  dec(t);
until (t=0) or (cc+dd>1000000.0);

Это даст ускорение ~ 10-13% (FPC 3.3.1)
(правда это при компиляции под x64, при компиляции под x32 разницы нет)

Также хочу обратить внимание на ZCAD https://github.com/zamtmn/zcad Это open source проект - небольшая CAD система, обладающая высоким быстродействием даже на огромных чертежах. Читает только файлы DXF 2000. К сожалению пока там много недоделок - есть определенная нехватка некоторых примитивов и инструментов, но проект активно развивается. Недавно появился инструментарий для черчения схем принципиальных например. Интерфейс в стиле классики AutoCad. Черчение мало чем отличается от автокадовского. Есть собственная база данных изделий, и возможность генерации некоторых отчетов

А есть какие-нибудь симуляторы где можно накидать труб разного диаметра повешать радиаторы, условно включить условный котёл и видеть тепловую карту как теплоноситель начал распространяться.... чтобы можно было разные конфигурации протестировать в симуляторе.... конечно с различными упрощениями но чтобы более менее похожее на правду было

А сам "тепло-вода" канал и его предпочтения в разводке вы как оцениваете? Правильно говорит всё?

Пожалуйста, распишите суть всего этого - у нас раньше дома так и сделали (задрали горячую подачу под потолок) и я всё никак не могу понять как это помогает или не помогает циркуляции, объясните пожалуйста на пальцах когда задирают подачу что происходит и когда получается опускают обратку и котёл как можно ниже что происходит

Что можете сказать о Manticore?
https://manticoresearch.com/

Где у этого "Open Source Search Server" исходники, интересно, как-то мало доверия после такого долго застоя и постов разработчиков Manticore на хабре

С духовкой как раз проблем нету, у неё есть на лицевой панеле выключатель, он физически размыкает цепь питания - тоже самое что выдернуть вилку из розетки

Кроме того, духовка это ТЭН, а ТЭНу и железо - им практически нет разницы что на них подадут - к пожару это не приведёт

если бы беспроводное реле было в металлическом корпусе или из пластмассы не поддерживающей горение, то тогда я бы меньше беспокоился

Автомат не поможет - он защищает только от значительной (от 2х раз) перегрузки по току (электромагнитынй расцепитель), либо же от незначительной (от 1,45х раз) но за длительное время (тепловой расцепитель)

Поможет реле-напряжения

Вводной контактор поможет тем, что можно полностью всё обесточить - если электричество не требуется


Ну и наверняка в инструкции ко всем розеткам пишется "не оставлять включенным без присмотра" или что-то подобное (но это не точно, может и не пишут)

Information

Rating
Does not participate
Location
Усть-Каменогорск, Восточно-Казахстанская обл., Казахстан
Date of birth
Registered
Activity