Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Вопрос про цикл Loop
antonДата: Вт, 25 Февраля 2014, 10:00 | Сообщение # 1
Ветеран форума
Не как не въеду. Почему один цикл
Код
Loop "1" "1000" "[i]"
.какойто код
EndLoop

работает медленнее, чем 10 циклов вида
Код
Loop "1" "100" "[i]"
.какой то код
EndLoop
Loop "101" "200" "[i]"
.какой то код
EndLoop
...


Такое впечатление, что каждый последующий проход у цикла Loop, происходит все медленней и медленней и медленней и чуть ли не стопориться в итоге.



"Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
 
СообщениеНе как не въеду. Почему один цикл
Код
Loop "1" "1000" "[i]"
.какойто код
EndLoop

работает медленнее, чем 10 циклов вида
Код
Loop "1" "100" "[i]"
.какой то код
EndLoop
Loop "101" "200" "[i]"
.какой то код
EndLoop
...


Такое впечатление, что каждый последующий проход у цикла Loop, происходит все медленней и медленней и медленней и чуть ли не стопориться в итоге.


Автор - anton
Дата добавления - 25 Февраля 2014 в 10:00
ВадимДата: Вт, 25 Февраля 2014, 13:53 | Сообщение # 2
Генератор идей
Цитата anton ()
Почему один цикл работает медленнее, чем 10 циклов
По-моему циклы работают в отдельных потоках. Это, кстати, можно использовать для имитации "многопотоковости" приложения.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Цитата anton ()
Почему один цикл работает медленнее, чем 10 циклов
По-моему циклы работают в отдельных потоках. Это, кстати, можно использовать для имитации "многопотоковости" приложения.

Автор - Вадим
Дата добавления - 25 Февраля 2014 в 13:53
PeterДата: Вт, 25 Февраля 2014, 15:42 | Сообщение # 3
Админ NeoBook
Цитата anton ()
Такое впечатление, что каждый последующий проход у цикла Loop, происходит все медленней и медленней и медленней и чуть ли не стопориться в итоге.

Да, такая неприятность имеет место быть, и я её заметил ещё очень давно.
Кстати, совсем недавно это уже "разбирали".
Обойти эту особенность работы необушного интерпретатора, увы, пока нельзя, и надо разрабов трясти.
Моно попробовать трюк: разделить один большой цикл на несколько маленьких, но тут надо бы поэкспериментировать.
;)

Цитата Вадим ()
По-моему циклы работают в отдельных потоках

В NB нет многопоточности, и отмечали это уже сотни раз.
Суть многопоточности состоит в том, что код, выполняемый в отдельном потоке(ах) независим от главного потока (или других потоков), в NB же код цикла будет прерван другим скриптом, и хорошо ещё то, что цикл не прервется навсегда, а потом продолжит свою работу.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата anton ()
Такое впечатление, что каждый последующий проход у цикла Loop, происходит все медленней и медленней и медленней и чуть ли не стопориться в итоге.

Да, такая неприятность имеет место быть, и я её заметил ещё очень давно.
Кстати, совсем недавно это уже "разбирали".
Обойти эту особенность работы необушного интерпретатора, увы, пока нельзя, и надо разрабов трясти.
Моно попробовать трюк: разделить один большой цикл на несколько маленьких, но тут надо бы поэкспериментировать.
;)

Цитата Вадим ()
По-моему циклы работают в отдельных потоках

В NB нет многопоточности, и отмечали это уже сотни раз.
Суть многопоточности состоит в том, что код, выполняемый в отдельном потоке(ах) независим от главного потока (или других потоков), в NB же код цикла будет прерван другим скриптом, и хорошо ещё то, что цикл не прервется навсегда, а потом продолжит свою работу.

Автор - Peter
Дата добавления - 25 Февраля 2014 в 15:42
antonДата: Вт, 25 Февраля 2014, 16:00 | Сообщение # 4
Ветеран форума
Цитата Peter ()
По-моему циклы работают в отдельных потоках. Это, кстати, можно использовать для имитации "многопотоковости" приложения.

Да не... Они же не выполняются одновременно, а поэтапно один сделал свое дело запустился другой...
Цитата Peter ()
Да, такая неприятность имеет место быть, и я её заметил ещё очень давно.

Ясненько... обидно что так.
Цитата Peter ()
Обойти эту особенность работы необушного интерпретатора, увы, пока нельзя

Ндя... несколько циклов ускоряют работу, но незначительно. Сейчас тестил вариант с разбитием одного цикла не насколько циклов. Сделал две программки в одной код:
Код
SetVar "[var]" "0"
Loop "1" "1000000" "[i]"
Math "[var]+1" "0" "[var]"
EndLoop

В другой:
Код
Loop "1" "100000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "100001" "200000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "200001" "300000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "300001" "400000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "400001" "500000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "500001" "600000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "600001" "700000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "700001" "800000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "800001" "900000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "900001" "1000000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop

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


Походу еще процент замедления цикла Loop после каждого прохода зависит от объема кода который запихан в него. Ща чегонть накалякаю с парсингом внутри Loop и тестану оба варианта
Прикрепления: 7671357.jpg (24.9 Kb)


"Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"

Сообщение отредактировано
anton - Вт, 25 Февраля 2014, 16:03
 
Сообщение
Цитата Peter ()
По-моему циклы работают в отдельных потоках. Это, кстати, можно использовать для имитации "многопотоковости" приложения.

Да не... Они же не выполняются одновременно, а поэтапно один сделал свое дело запустился другой...
Цитата Peter ()
Да, такая неприятность имеет место быть, и я её заметил ещё очень давно.

Ясненько... обидно что так.
Цитата Peter ()
Обойти эту особенность работы необушного интерпретатора, увы, пока нельзя

Ндя... несколько циклов ускоряют работу, но незначительно. Сейчас тестил вариант с разбитием одного цикла не насколько циклов. Сделал две программки в одной код:
Код
SetVar "[var]" "0"
Loop "1" "1000000" "[i]"
Math "[var]+1" "0" "[var]"
EndLoop

В другой:
Код
Loop "1" "100000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "100001" "200000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "200001" "300000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "300001" "400000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "400001" "500000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "500001" "600000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "600001" "700000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "700001" "800000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "800001" "900000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop
Loop "900001" "1000000" "[I]"
Math "[var]+1" "0" "[var]"
EndLoop

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


Походу еще процент замедления цикла Loop после каждого прохода зависит от объема кода который запихан в него. Ща чегонть накалякаю с парсингом внутри Loop и тестану оба варианта

Автор - anton
Дата добавления - 25 Февраля 2014 в 16:00
mishemДата: Вт, 25 Февраля 2014, 17:55 | Сообщение # 5
Эксперт форума
Я вам совет дам хороший, вы задавайте не решаемые вопросы на оффоруме.
Отвечают оперативно, иногда есть решения до которых мы просто сами можем не додуматься, а там его дают.
Плюс ко всему есть шанс что в будущем будет исправление, а так...
Поговорили, и до следующего раза, пока опять кто то не столкнется.

Проблему с почтой лет пять обсуждали, Вадим на следующий день после обращения уже решение знал. ;)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЯ вам совет дам хороший, вы задавайте не решаемые вопросы на оффоруме.
Отвечают оперативно, иногда есть решения до которых мы просто сами можем не додуматься, а там его дают.
Плюс ко всему есть шанс что в будущем будет исправление, а так...
Поговорили, и до следующего раза, пока опять кто то не столкнется.

Проблему с почтой лет пять обсуждали, Вадим на следующий день после обращения уже решение знал. ;)

Автор - mishem
Дата добавления - 25 Февраля 2014 в 17:55
antonДата: Вт, 25 Февраля 2014, 18:00 | Сообщение # 6
Ветеран форума
Цитата mishem ()
Я вам совет дам хороший, вы задавайте не решаемые вопросы на оффоруме.

Ну тогда буду признателен, если кто подскажет альтернативу Loop, которая не имела бы изъяна замедления после множества проходов.


"Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
 
Сообщение
Цитата mishem ()
Я вам совет дам хороший, вы задавайте не решаемые вопросы на оффоруме.

Ну тогда буду признателен, если кто подскажет альтернативу Loop, которая не имела бы изъяна замедления после множества проходов.

Автор - anton
Дата добавления - 25 Февраля 2014 в 18:00
mishemДата: Вт, 25 Февраля 2014, 19:13 | Сообщение # 7
Эксперт форума
Цитата mishem ()
задавайте не решаемые вопросы на оффоруме.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата mishem ()
задавайте не решаемые вопросы на оффоруме.

Автор - mishem
Дата добавления - 25 Февраля 2014 в 19:13
antonДата: Вт, 25 Февраля 2014, 19:25 | Сообщение # 8
Ветеран форума


"Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
 
Сообщение

Автор - anton
Дата добавления - 25 Февраля 2014 в 19:25
mishemДата: Вт, 25 Февраля 2014, 20:40 | Сообщение # 9
Эксперт форума


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение

Автор - mishem
Дата добавления - 25 Февраля 2014 в 20:40
  • Страница 1 из 1
  • 1
Поиск: