да не моя это проблема, что Вы не хотите видеть аргументов другой стороны. Той оптимизации, с которой Вы сталкивались на ПК, на контроллерах не будет, там другие приоритеты, главное чтобы код выполнился так как написал его разработчик и он укладывался в отведенное ему время. А все Ваши мечтания, что появятся многоядерные и столько же задачные процессы, сбудутся не скоро, если вообще такое будет. Нет механизма который не даст выполнится концовке раньше, чем начало, а значит будут случаться непредвиденные ситуации, чреватые нарушением технологического процесса, а собственно ради него и создавалась автоматизация
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Владимир, вот я по некоторым причинам достаточно часто использую код типа :
var
i,n : int;
---
i := i / n * n;
---
Вопрос - насколько умен оптимизатор чтоб понять чего я хочу ?
Про тот цикл.
У кого-нить есть информация про процы у MO1/MO2 на предмет поддержки плав.точки ?
И автор цикла не мог бы проверить пустые циклы (или только с целыми/логикой) аналогично (раз есть на руках железки) ?
И кстати, там какие-то бибочные таймеры, а можно родными средствами ?
var
t,tc : time;
----
t := time();
цикл
tc := time() - t; // tc ?
Владимир, провел эксперимент, где вынес i := i + JMax, за тело цикла.
При количестве циклов 30000 среднее время получилось 2мс, а максимальное 3 мс. Против соответсвенно 9 и 10 мс, в том случае если операторы инкрементирования находятся в теле цикла А вдруг была оптимизация кода.jpg.
Что означает, что комплилятор не оптимизирует код, так как предполагалось.
Повторю главный вывод эксперимента.
Обновленный ПЛК110 М02 быстрее своего предшественника ПЛК110 примерно в 15 раз, быстрее контроллеров Siemens серии S7-1200 примерно в 22 раза и быстрее контроллеров серии S7-300 (превосходство в быстродействии зависит от конкретной модели S7-300).
А в попугаях он всё-же длиннее!
К чему всё это? Синтетические тесты на некоторых выборках давали и 100-е ускорение. Это не признак "крутизны" , а особенности тестов. Чем короче тестовая задача - тем больше ускорение (хотя бы из-за кэша).
Среднебольничное ускорение мы оцениваем в 2,5 раза. Тут и процессор и память и улучшенная архитектура.
Тролль-наседка, добрый, нежный и ласковый
Мне, как бывшему Сименсоводу, это нужно для того, чтобы прикинуть размер задачи, которую можно решить на контроллере.
Тролль-наседка, добрый, нежный и ласковый