Ru-Board.club
← Вернуться в раздел «Программы»

» nnCron

Автор: sundraw
Дата сообщения: 05.03.2016 19:15
Проверил версии вручную. Что было сделано. Клонировал 5 одинаковых виртуальных машин со следующими параметрами: WinXP SP3 на файловой системе FAT16, один виртуальный процессор, 96 мб ОЗУ. Хост на HDD WD. Клоны отличаются только разными бета-версиями nncron. Кронтаб nncron.tab один, в нём 8 задач, 2 из них неактивны. В кронтабе 93 строки. Каждую машину тестировал 3 раза с момента запуска до появления значка nncron в трее. Время засекал обычным секундомером, значение среднее. Результаты:
nncron v1.93b10 - 14 сек
nncron v1.93b12 - 13 сек
nncron v1.93b13 - 28 сек
nncron v1.93b14 - 28 сек
nncron v1.93b15 - 28 сек
Автор: VoidVolker
Дата сообщения: 05.03.2016 19:26
Хмм... Так а что с измерением скорости загрузки самим ннкроном?
Вывод результата можно сделать и сообщением:

Код: S" Crontabs load time: " GetTickCount LoadStart - N>S S+ MsgBox
Автор: sundraw
Дата сообщения: 05.03.2016 19:36
VoidVolker

Цитата:
И какую ошибку выдает? Код был вставлен между словами <% и %>?

Вставил коды перед первой задачей и после последней, с пробелами между строк. Ругаться перестал. Где можно найти результат?

Автор: VoidVolker
Дата сообщения: 05.03.2016 19:49
В первоначальном варианте сделал в консоль вывод, чуть выше вариант с выводом сообщения.
Автор: sundraw
Дата сообщения: 05.03.2016 20:16
VoidVolker
Так...Результат есть. "Crontabs load time: " показывает разные значения от 0 до 60 на v15. Наверно, из-за нагруженного железа. Сейчас сброшу нагрузку и проверю...
Автор: VoidVolker
Дата сообщения: 05.03.2016 20:43

Цитата:
Так...Результат есть. "Crontabs load time: " показывает разные значения от 0 до 60 на v15. Наверно, из-за нагруженного железа. Сейчас сброшу нагрузку и проверю...

Ну вот, уже есть какой-то результат. Вот и получается, что вот эти все 15-30 секунд - это не ннкрон так долго запускается, а ОС его так долго запускает.
Автор: sundraw
Дата сообщения: 05.03.2016 20:53
Результаты теста. Условия на хосте и в гостях те же, что и на ручном тестировании. Делал по 3 запуска каждой машины. Странные значения "Crontabs load time: " по каждому запуску:
nncron v1.93b10: 10 - 10 - 0
nncron v1.93b12: 10 - 0 - 0
nncron v1.93b13: 10 - 0 - 0
nncron v1.93b14: 0 - 0 - 10
nncron v1.93b15: 0 - 0 - 0
Автор: VoidVolker
Дата сообщения: 05.03.2016 21:29
Ну, ничего странного в этом нет: в основе ннкрона форт - очень компактный, быстрый и эффективный. Так что в данном случае следует искать причину такого долгого запуска в ОС.
Автор: sundraw
Дата сообщения: 05.03.2016 21:46
Получается, для очень слабых машин подойдут v10, 12. Но таких машин уже не найдёшь. А неплохо было в новой версии nncron сделать скорость загрузки v12, а функционал v15. По размеру они не особо отличаются, значит, проблем возникнуть не должно. Зато на слабых машинах будут бегать, а на мощных летать....
Автор: VoidVolker
Дата сообщения: 05.03.2016 22:13

Цитата:
Получается, для очень слабых машин подойдут v10, 12. Но таких машин уже не найдёшь. А неплохо было в новой версии nncron сделать скорость загрузки v12, а функционал v15. По размеру они не особо отличаются, значит, проблем возникнуть не должно. Зато на слабых машинах будут бегать, а на мощных летать....

Эмм...

Цитата:
nncron v1.93b10:  10 - 10 - 0
nncron v1.93b12:  10 - 0 - 0
nncron v1.93b13:  10 - 0 - 0
nncron v1.93b14:  0 - 0 - 10
nncron v1.93b15:  0 - 0 - 0

А вот это тогда что? Данный тест явно доказывает, что скорость загрузки плагинов и кронтабов не изменилась между 12 и 13 бетой. Кроме того, код интепретации в данных версиях не менялся. Существенное изменение интерпретатора было в шестой бете - это хэширование в словарях. Логи изменений приведенный ранее это доказывает. И точно так же чуть ранее я привел результат тестирования скорости загрузки до и после добавления хэширования словарей. Оно явно показывает серьезную разницу в скорости работы. Кроме того, большая часть изменений в бетах - исправления багов. Тут даже и обсуждать нечего - и так понятно, что исправления багов никто в здравом уме откатывать не будет.
Так что повторюсь еще раз: в данном случае следует начать с ОС и окружения. Например, поставить чистый ннкрон без задач на чистую ОС, а не на машину с заведомо экстремально малым количеством ОЗУ да еще и под нагрузкой. И добавлять код в кронтабы постепенно - возможно причина в какой-то нестандартной задаче или еще в чем-то.
Автор: sundraw
Дата сообщения: 05.03.2016 23:07
И эти значения

Цитата:
nncron v1.93b10 - 14 сек
nncron v1.93b12 - 13 сек
nncron v1.93b13 - 28 сек
nncron v1.93b14 - 28 сек
nncron v1.93b15 - 28 сек

и эти

Цитата:
nncron v1.93b10: 10 - 10 - 0
nncron v1.93b12: 10 - 0 - 0
nncron v1.93b13: 10 - 0 - 0
nncron v1.93b14: 0 - 0 - 10
nncron v1.93b15: 0 - 0 - 0

совершенно чистые, на абсолютных копиях машин, с совершенно одинаковыми настройками и задачами, но с разными nncron.
Элементарная логика подсказывает, что-то изменилось в самой загрузке nncron, начиная с v13. Каждый вправе пользоваться той версией, которая ему наиболее подходит. Сама программа великолепна, и автору почёт и уважение
Автор: VoidVolker
Дата сообщения: 05.03.2016 23:14
Да? А почему меня не воспроизводится? А без задач? Когда чистая установка ннкрона.
Автор: sundraw
Дата сообщения: 06.03.2016 06:06
VoidVolker

Цитата:
...А без задач? Когда чистая установка ннкрона.

Без задач проверил только nncron v1.93b15 и nncron v1.93b12. Итак, очистил nncron от всех задач. Более того, установил 512 мб ОЗУ и 3 виртуальных процессора на обеих виртуалках. С момента запуска системы до появления иконки "Crontabs load time: 0 " время у nncron v1.93b15 составило 26 сек, у nncron v1.93b12 - 11 сек. В обоих случаях всего на 2 сек меньше, чем с задачами.
Может будет важно. При установке ннкронов устанавливал их как приложение для всех пользователей без галок документации и создания ярлыков, русскоязычный интерфейс.
Да, возможно, всё зависит от ОС. Но тогда непонятна её избирательность к разным версиям ннкрон, если только в эти версии не внесены изменения в загрузку.

brRamires

Цитата:
на Win 8.1 x32 провёл эксперимент: запускал beta 10 и beta 15 как приложения с одинаковой конфигурацией: иконки в трее появляются за ~2.5 сек в обоих случаях.


Значит, в Win 8.1 x32 есть то, чего нет в WinXP для запуска новых версий nncron.
Автор: VoidVolker
Дата сообщения: 06.03.2016 08:31
Кстати, как вариант можно попробовать запускать SPF3.75 и посмотреть сколько времени проходит перед появлением консольного окна СПФ. Кстати, иконка-иконкой, а вот сколько времени проходит между кликом и появлением ннкрона в диспетчере задач? И показывает ли диспетчер задач какие-либо затраты ресурсов все это время? Рекомендую использовать https://technet.microsoft.com/ru-ru/sysinternals/processexplorer.aspx - он показывает детальную информацию и там можно проследить что происходит во время запуска. И еще такой вопрос, а стоит ли антивирус? (Судя по ОЗУ - на него там места не хватит, но все же).
Автор: sundraw
Дата сообщения: 06.03.2016 09:04
VoidVolker
Хорошо, проверю попозже. Антивирус есть на хосте, в госте нет.
Автор: sundraw
Дата сообщения: 06.03.2016 12:55
Проверил процессэксплорером v b15. При запуске пр.эксплорера nncron.exe уже в процессах есть, а вот nnguard.exe грузится именно те 26 сек (проверял без задач) В версии v b12 nnguard.exe появляется практически вместе с рабочим столом, так что при включении пр.эксплорера nnguard.exe уже загружен в процессах. Появление рабочего стола также происходит на 11-13 секунде в обеих версиях.
Автор: VoidVolker
Дата сообщения: 06.03.2016 14:27
А если выключить непотопляемый режим? Влияет ли это как-то?

Цитата:
Появление рабочего стола также происходит на 11-13 секунде в обеих версиях.

Ммм... При чему тут рабочий стол? Мы ведь исследуем запуск ннкрона, а не рабочего стола или винды. И PE надо запускать до запуска ннкрона, а не после. Так, это получается, вот эти 20-30 секунд - это запуск ОС? И при чем тогда тут ннкрон-то? Таки давайте будем измерять время более объективно: клик мышки (или запуск другой программой для анализа времени запуска) -> запуск процесса -> передача управления ннкрону -> загрузка настроек из инифайла -> загрузка плагинов -> загрузка кронтабов. У меня ХР стартует секунды за 4 примерно.
Автор: sundraw
Дата сообщения: 06.03.2016 17:13
VoidVolker

Цитата:
При чему тут рабочий стол? Мы ведь исследуем запуск ннкрона, а не рабочего стола или винды. И PE надо запускать до запуска ннкрона, а не после.

Согласен, рабочий стол тут ни при чём. А вот как запустить РЕ (у меня v 14.11) раньше ннкрон с измерением времени, если можно, подробней.


Цитата:
У меня ХР стартует секунды за 4 примерно.

У своего хотелось бы тоже такую скорость иметь.

Автор: VoidVolker
Дата сообщения: 06.03.2016 18:16

Цитата:
А вот как запустить РЕ (у меня v 14.11) раньше ннкрон с измерением времени, если можно, подробней.

Process Explorer - портативный. Запускается обычным двойным кликом из любого каталога.

Цитата:
У меня просьба. Если можно, сразу все действия, которые надо сделать.

1. В ннкрон ини добавить следующий код в соответствующих местах:


Код: .....

GetTickCount VALUE iniLoadStart
S" ------- nnCron start time is:" iniLoadStart N>S S+ CRON-LOG

INCLUDE "plugins\..."
...
INCLUDE "plugins\..."

S" ------- Plugins load time: " GetTickCount iniLoadStart - N>S S+ CRON-LOG

GetTickCount VALUE LoadStart

Crontab: "nncron.tab"
...
Crontab: "....tab"

S" ------- Crontabs load time: " GetTickCount LoadStart - N>S S+ CRON-LOG

...
Автор: sundraw
Дата сообщения: 06.03.2016 23:05
VoidVolker
Итак, сделал всё, как Вы просили.
При выключенном непотопляемом режиме иконка в трее появляется через 16 сек (26 сек - включенный режим).

Результаты (v b15, непотопляемый режим включен, задачи отключены)

23:39:00 - запуск ннкрона
23:39:02 - время старта из РЕ
23:39:20 - появление иконки в трее (через 18,5 сек)

Лог:

Код:
23:39:17 1352 ------- nnCron start time is:2237096
23:39:17 1352 ------- Plugins load time: 30
23:39:17 1352 Start nnCron
23:39:17 1352 Load crontab
23:39:17 1352 C:\Documents and Settings\Admin\Application Data\nnCron\nncron.tab
23:39:17 1596 Console server is started.
Автор: VoidVolker
Дата сообщения: 07.03.2016 02:04

Цитата:
Результаты (v b15, непотопляемый режим включен, задачи отключены)

Хмм... Получается, 15 секунд уходит на загрузку бинарника операционной системой в память и передачу управления ннкрону или где-то рядом. В общем, сомневаюсь, что тут можно что-то сделать со стороны ннкрона. Единственное, что могу порекомендовать - не выключать виртуалки и не перезагружать их вообще. Тогда можно вообще не переживать на тему времени запуска.


Цитата:
Скриншот графиков из виртуалки даёт сбои, иногда нормально работает, иногда нет. На словах: CPU Usage: 0% Private Bytes: 3,6 MB I/O Bytes: 0

Виртулака делается неактивным окном и скришот легко делается в хосте (например кликом по панели задач). Просто хотелось бы глянуть динамику.

Вот, кстати, знаю чем еще можно исследовать: Process Monitor - только сейчас вспомнил про эту утилиту. Она вообще перехватывает и показывает абсолютно все. При запуске она сразу предложит фильтр: выбираем "Process name" - "is" - "nnCron.exe" then "include" и далее запускаем ннкрон. Получим список примерно из полутора десятков тысяч событий - вот там и надо смотреть на что именно уходит время. Можно даже лог выложить.
Автор: sundraw
Дата сообщения: 07.03.2016 07:17
VoidVolker
Сделал скриншот, непотопляемый режим вкл.

Ещё обнаружил в nncron v1.93b12 особенность - nncron не запускается файлом nncron.exe, в процессах он несколько секунд держится, потом исчезает. Запускается только с запуском системы.
Автор: VoidVolker
Дата сообщения: 07.03.2016 10:15

Цитата:
Сделал скриншот, непотопляемый режим вкл.

Спасибо, ничего необычного нет. Явно виден всплеск дисковой активности - вероятно это момент загрузки ини, плагинов и кронтабов.


Цитата:
Ещё обнаружил в nncron v1.93b12 особенность - nncron не запускается файлом nncron.exe, в процессах он несколько секунд держится, потом исчезает. Запускается только с запуском системы.

Вообще-то, для запуска ннкрона приложением до 13 беты надо было указывать флаг -ns, а для запуска его сервисом есть специальные бат-файлы startnncron.bat и stopnncron.bat. И это все описано в мануале в разделе "Работа с программой > Запуск и остановка nnCron. Непотопляемый режим."

Цитата:
beta 13 (2013-03-16)
+ if nncron installation directory contains file "portable", this directory is working directory on any mode of nnCron execution;
+ it's not need to specify -ns at startup nncron "as application", and -dir, if you expect the default directory.
Автор: sundraw
Дата сообщения: 07.03.2016 10:50
Понятно, спасибо за информацию.
Автор: Darth_Max
Дата сообщения: 24.03.2016 17:47
Если приделать к nnCron распознавание голоса от Google, получился бы хороший голосовой помощник для Windows.
Автор этой программы смог и собирает деньги.
Автор: VoidVolker
Дата сообщения: 26.03.2016 18:19

Цитата:
Если приделать к nnCron распознавание голоса от Google, получился бы хороший голосовой помощник для Windows. Автор этой программы смог и собирает деньги.

http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/
В целом логика простая: делаем запись звука, сохраняем в формате flac, отправляем пост запросом в гугл. Звук легко пишется утилитами типа sox/LineInCode, а отправить в гугл можно через wput или curl.
Автор: VoidVolker
Дата сообщения: 27.03.2016 10:48

Цитата:
Если приделать к nnCron распознавание голоса от Google, получился бы хороший голосовой помощник для Windows. Автор этой программы смог и собирает деньги.

http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/
В целом логика простая: делаем запись звука, сохраняем в формате flac, отправляем пост запросом в гугл. Звук легко пишется утилитами типа sox/LineInCode, а отправить в гугл можно через wput или curl.
Автор: Labus
Дата сообщения: 30.03.2016 13:18
Друзья, как с помощью nnCron запустить программу через ярлык ( Ярлык для Wallpaper SlideShow Pro.exe.lnk) ? Спасибо.
Автор: V0idV0lker
Дата сообщения: 31.03.2016 13:49

Код: #( Задача_134931032016
NoActive
SingleInstance
: START-FILE
S>ZALLOC >R
5 0 0 R> Z" open" 0 ShellExecuteA DROP
;
Action:
S" C:\path\to\program.lnk" START-FILE
)#
Автор: Cossack
Дата сообщения: 31.03.2016 14:44
index up

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354

Предыдущая тема: Autodesk AutoCAD


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.