Автор Тема: [BlackBox] Делать что-то часто по таймеру.  (Прочитано 14826 раз)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Задача - хотя бы 60 (а лучше 100) раз в секунду что-то там делать. Services.DoLater как оказалось очень слоупочна - максимум получается 16 раз в секунду.

Тестировал так:
MODULE BackgroundAction;

IMPORT StdLog, Services, Kernel;

TYPE
   Action = POINTER TO RECORD (Services.Action) END;
VAR
   count : INTEGER;
   begin : LONGINT;
   action : Action;
   
   PROCEDURE (a: Action) Do;
   BEGIN
      INC(count);
      IF count  = 1000 THEN
         StdLog.Real((Kernel.Time() - begin)/1000);
         StdLog.Ln;
         StdLog.Real(1000/((Kernel.Time() - begin)/1000));
         StdLog.Ln;
      ELSE
         Services.DoLater(a,Services.now);
      END
   END Do;
   
   PROCEDURE Start*;
   BEGIN
      count := 0;
      NEW(action);
      begin := Kernel.Time();
      Services.DoLater(action,Services.now);
   END Start;

BEGIN
   
END BackgroundAction.
Y = λf.(λx.f (x x)) (λx.f (x x))

kkk

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #1 : Май 10, 2013, 03:13:47 pm »
Зачем отвечать, ведь мы уже знаем итог этого треда.

kkk

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #2 : Май 10, 2013, 03:23:52 pm »
Где же пиздизер, почему он до сих пор не написал правильный ответ?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #3 : Май 10, 2013, 03:34:24 pm »
Зачем отвечать, ведь мы уже знаем итог этого треда.
Не знаешь что сказать по делу - лучше промолчи.
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #4 : Май 10, 2013, 03:39:47 pm »
Зачем отвечать, ведь мы уже знаем итог этого треда.
Не знаешь что сказать по делу - лучше промолчи.
  нехорошо, Алексей,  зверушка пришла покакать.. а вы ей запрещаете.. негуманно это (разорвать же может).. и противоречит правилам форума...

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #5 : Май 10, 2013, 03:40:53 pm »
Зачем отвечать, ведь мы уже знаем итог этого треда.
Не знаешь что сказать по делу - лучше промолчи.
  нехорошо, Алексей,  зверушка пришла покакать.. а вы ей запрещаете.. негуманно это (разорвать же может).. и противоречит правилам форума...
Я запрещаю также как может запретить любой на форуме. Это правилам не противоречит.
Y = λf.(λx.f (x x)) (λx.f (x x))

maliya

  • Newbie
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #6 : Май 10, 2013, 03:50:38 pm »
the "Action" topic has been discussed on oberoncore for a  long time,you'd better make a search in it!

kkk

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #7 : Май 10, 2013, 03:51:39 pm »
Зачем отвечать, ведь мы уже знаем итог этого треда.
Не знаешь что сказать по делу - лучше промолчи.
Бгг. Ограничиваешь свободу слова, нехорошо это. Непоследовательно.
Олсо я просто не палю ответ.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #8 : Май 10, 2013, 03:52:57 pm »
Зачем отвечать, ведь мы уже знаем итог этого треда.
Не знаешь что сказать по делу - лучше промолчи.
Ай-яй-яй! Это что, цензура? Попытка навести модераторский шухер? o_O Того и гляди до банхаммера дело дойдёт )))

Алексей, ну труЪ-оберонщики они же такие, им бы лишь бы полаять. Так что ничего другого и ожидать от них не приходится )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

kkk

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #9 : Май 10, 2013, 03:54:26 pm »
По количеству многоточий в посте, пиздизер почти догнал девочек с ОБВМ.

DddIzer

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #10 : Май 10, 2013, 03:56:02 pm »
По количеству многоточий в посте, пиздизер почти догнал девочек с ОБВМ.
а еще ведь не вечер  ;)

kkk

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #11 : Май 10, 2013, 03:56:30 pm »
Алексей, ну труЪ-оберонщики они же такие, им бы лишь бы полаять. Так что ничего другого и ожидать от них не приходится )))
Омг, ведь получается, что оберспейс и есть пристанище труЪ-оберонщиков.

А расчеловечивание это их (то есть, ваша) отличительная черта. Слишком мейнстримная, в любом случае.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #12 : Май 10, 2013, 03:56:49 pm »
the "Action" topic has been discussed on oberoncore for a  long time,you'd better make a search in it!

I have already searched, and found this topic: http://forum.oberoncore.ru/viewtopic.php?f=23&t=1426

But I did not found topic about DoLater max frequency. I need more then 30 Hz (60 or 100) actions Do call.
Y = λf.(λx.f (x x)) (λx.f (x x))

kkk

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #13 : Май 10, 2013, 04:01:24 pm »
Уже три профессианала фтреди, а до сих пор нет ответа.
Плохо быть оберспейсером.

DddIzer

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #14 : Май 10, 2013, 04:02:03 pm »

Ай-яй-яй! Это что, цензура? Попытка навести модераторский шухер? o_O Того и гляди до банхаммера дело дойдёт )))

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