myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Таймер на Ptokax 0.5.0.0, неверно работает таймер

Теги
Нет тегов для показа
Iskandark
сообщение 2.7.2013, 19:00
Сообщение #1


Активный участник
***

Группа: Пользователи
Сообщений: 61
Регистрация: 24.10.2008
Из: Moscow
Пользователь №: 875
Спасибо сказали: 0 раз




Поставил Ptokax 0.5.0.0 на Debian. Сделал для теста таймера простой скрипт скрипт:

Код
milsec=0

function OnStartup()
        TmrMan.AddTimer(10,'CountTime')
end

function CountTime()
        milsec=milsec+1
        Core.SendToAll(tostring(milsec))
end


В итоге в чат приходит 5 сообщений в секунду, а должно приходить 100. Пробовал в Таймере указать TmrMan.AddTimer(500,'CountTime'), но все равно приходит 5 сообщений в секунду (а должно приходить 2 сообщения).
Если поставить значение больше 1000мс, то работает все в порядке.

У кого-нибудь есть возможность проверить таймер со значением меньше 1000мс для Ptokax 0.5.0.0 на Linux? Чтобы знать, это общая проблема или только у меня.
Go to the top of the page
+Quote Post
Alexey
сообщение 3.7.2013, 12:14
Сообщение #2


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 291 раз




Version: PtokaX DC Hub 0.5.0.1 built on Apr 7 2013 02:45:32
Ubuntu 10.4 x64 в сети другого провайдера
Скрыпт
Код
local c = 0
local nMaxc = 50
local sBot
local iStart

function OnStartup()
    sBot    = sBot or SetMan.GetString(21)
    iStart    = os.time()
    TmrMan.AddTimer(10, 'CountTime')
end

function CountTime(uT)
    c = c + 1
    Core.SendToAll(os.time()-iStart.." "..c)
    if c >= nMaxc then
        TmrMan.RemoveTimer(uT)
        Core.SendToAll("<"..sBot.."> До "..nMaxc.." досчитали за "..os.time()-iStart.." секунд.")
    end
end

Результат
Код
[13:14:14] <BotNick> *** Alexey перезапустил скрипт: t_timer.lua.
[13:14:14] 0 1
[13:14:14] 0 2
[13:14:14] 0 3
[13:14:14] 0 4
[13:14:14] 0 5
[13:14:14] 0 6
[13:14:14] 0 7
[13:14:15] 0 8
[13:14:15] 0 9
[13:14:15] 1 10
[13:14:15] 1 11
[13:14:15] 1 12
[13:14:15] 1 13
[13:14:15] 1 14
[13:14:15] 1 15
[13:14:15] 1 16
[13:14:15] 1 17
[13:14:15] 1 18
[13:14:15] 1 19
[13:14:15] 1 20
[13:14:15] 1 21
[13:14:15] 1 22
[13:14:15] 1 23
[13:14:16] 1 24
[13:14:16] 1 25
[13:14:16] 2 26
[13:14:16] 2 27
[13:14:16] 2 28
[13:14:16] 2 29
[13:14:16] 2 30
[13:14:16] 2 31
[13:14:16] 2 32
[13:14:16] 2 33
[13:14:16] 2 34
[13:14:16] 2 35
[13:14:16] 2 36
[13:14:16] 2 37
[13:14:16] 2 38
[13:14:16] 2 39
[13:14:16] 2 40
[13:14:17] 2 41
[13:14:17] 2 42
[13:14:17] 2 43
[13:14:17] 2 44
[13:14:17] 3 45
[13:14:17] 3 46
[13:14:17] 3 47
[13:14:17] 3 48
[13:14:17] 3 49
[13:14:17] 3 50
[13:14:17] <BotNick> До 50 досчитали за 3 секунд.


Если закомментировать строку 14, то время даже увеличивается!
[14:18:48] <BotNick> До 50 досчитали за 6 секунд.


Спасибо сказали:
Go to the top of the page
+Quote Post
Iskandark
сообщение 3.7.2013, 20:34
Сообщение #3


Активный участник
***

Группа: Пользователи
Сообщений: 61
Регистрация: 24.10.2008
Из: Moscow
Пользователь №: 875
Спасибо сказали: 0 раз




У меня почему-то другой результат :(

Результат
Код
[21:31:15] 0 1
[21:31:16] 1 2
[21:31:16] 1 3
[21:31:16] 1 4
[21:31:16] 1 5
[21:31:16] 2 6
[21:31:17] 2 7
[21:31:17] 2 8
[21:31:17] 2 9
[21:31:17] 2 10
[21:31:18] 3 11
[21:31:18] 3 12
[21:31:18] 3 13
[21:31:18] 3 14
[21:31:18] 3 15
[21:31:19] 4 16
[21:31:19] 4 17
[21:31:19] 4 18
[21:31:19] 4 19
[21:31:19] 5 20
[21:31:20] 5 21
[21:31:20] 5 22
[21:31:20] 5 23
[21:31:20] 6 24
[21:31:21] 6 25
[21:31:21] 6 26
[21:31:21] 6 27
[21:31:22] 6 28
[21:31:22] 7 29
[21:31:22] 7 30
[21:31:22] 7 31
[21:31:22] 7 32
[21:31:23] 7 33
[21:31:23] 8 34
[21:31:23] 8 35
[21:31:23] 8 36
[21:31:23] 8 37
[21:31:24] 9 38
[21:31:24] 9 39
[21:31:24] 9 40
[21:31:24] 9 41
[21:31:24] 9 42
[21:31:24] 9 43
[21:31:25] 10 44
[21:31:25] 10 45
[21:31:25] 10 46
[21:31:25] 10 47
[21:31:25] 10 48
[21:31:26] 11 49
[21:31:26] 11 50
[21:31:26] <Вot> До 50 досчитали за 11 секунд.



А что это за версия 0.5.0.1, она чем то отличается от 0.5.0.0?
Go to the top of the page
+Quote Post
Alexey
сообщение 3.7.2013, 21:30
Сообщение #4


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 291 раз




Это тестовая версия, отличается этим:
Цитата
Added: White space characters (ascii chars below 32) are not allowed in nicks anymore.
Added: Option to store passwords for registered users as hashes.
Fixed: IpToCountry for IPv4 ignored first and last ip in country range (thx Alexey and alex82 for report).
Fixed: Crash in windows version when script send some global data as reaction to chat without blocking it (thx Alexey for report).
Fixed: Wrong chat lines order when multiple messages was received in one loop and script send global data reply for one of them.
Fixed: On hub bot nick change old bot was not removed from userlist (thx Alexey for report).
Fixed: Few other issues related to hub bot nick and info changes.
Fixed: Issues related to OpChat bot nick and info changes.
Fixed: 64bit windoze build was limited to only 2 GB of memory.
Go to the top of the page
+Quote Post
Iskandark
сообщение 4.7.2013, 9:47
Сообщение #5


Активный участник
***

Группа: Пользователи
Сообщений: 61
Регистрация: 24.10.2008
Из: Moscow
Пользователь №: 875
Спасибо сказали: 0 раз




Проблема заключается в том, что на Debian нельзя определить время в сотых секундах (например, время на ответ игрока викторины):

1) TmrMan.AddTimer() выполняется только каждые 0.2 сек.

2) os.clock () - возвращает время в миллисекундах, которое программа выполнялась, но на Linux возвращает не то время (For example, on Linux, clock gives "CPU time" [2][3], which only counts the time in which the process is actively using the CPU and does not count time executing other processes or waiting for I/O. CPU time may be less than the real time ("wall clock time"). On Windows, clock counts real (wall clock) time since the start of the process [4].)

3) os.date() может вернуть время в секундах

4) os.time() может вернуть время в секундах

Есть ли какой способ посчитать длительность в миллисекундах на Linux?
Go to the top of the page
+Quote Post
Ksan
сообщение 4.7.2013, 11:15
Сообщение #6


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 709
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 638 раз




Iskandark, может, вам стоило бы озвучить цель ваших экспериментов?
Возможно, решение вашей неозвученной проблемы лежит совсем в другой плоскости..
Я никак не могу представить себе задачу, в которой в чат должны сыпаться миллион сообщений со скоростью шестиствольного пулемёта в руках Терминатора..
Go to the top of the page
+Quote Post
Iskandark
сообщение 4.7.2013, 14:00
Сообщение #7


Активный участник
***

Группа: Пользователи
Сообщений: 61
Регистрация: 24.10.2008
Из: Moscow
Пользователь №: 875
Спасибо сказали: 0 раз




Ksan, цель очень простая, необходимо определить время на ответ с точностью до сотых секунд в викторине. На виндусе эта задача без проблем решается через os.clock (). На линуксе не нашел ни одного способа, как можно определить время на ответ с сотыми долями секунды.
Go to the top of the page
+Quote Post
Ksan
сообщение 4.7.2013, 14:29
Сообщение #8


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 709
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 638 раз




Есть такая проблема в Викторине на линуксе. Я просто отключил в скрипте подсчёт и показ времени/скорострельности. big_smile.gif Это особо и не нужно никому.
А не стал им заниматься, ибо есть/были проблемы/дела поважнее.
Go to the top of the page
+Quote Post
Iskandark
сообщение 4.7.2013, 14:48
Сообщение #9


Активный участник
***

Группа: Пользователи
Сообщений: 61
Регистрация: 24.10.2008
Из: Moscow
Пользователь №: 875
Спасибо сказали: 0 раз




Цитата(Ksan @ 4.7.2013, 15:29) *
Есть такая проблема в Викторине на линуксе. Я просто отключил в скрипте подсчёт и показ времени/скорострельности. big_smile.gif Это особо и не нужно никому.
А не стал им заниматься, ибо есть/были проблемы/дела поважнее.


Это проблема... и игрокам необходимо знать, некоторые дают ответы за 1.5 секунды, некоторые за 2... Есть статистка самых быстрых ответов, если нельзя будет считать с точностью до сотых, то они все в одну кучу сольются.

Буду надеяться, что решение кто-нибудь знает и предложит...
Go to the top of the page
+Quote Post
mariner
сообщение 5.7.2013, 0:48
Сообщение #10


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




Помнится, был извратный способ получить время.
Код
require "socket"
print("Milliseconds: " .. socket.gettime())


Спасибо сказали:
Go to the top of the page
+Quote Post
Iskandark
сообщение 5.7.2013, 16:16
Сообщение #11


Активный участник
***

Группа: Пользователи
Сообщений: 61
Регистрация: 24.10.2008
Из: Moscow
Пользователь №: 875
Спасибо сказали: 0 раз




Цитата(mariner @ 5.7.2013, 1:48) *
Помнится, был извратный способ получить время.
Код
require "socket"
print("Milliseconds: " .. socket.gettime())


Да! То, что надо! Работает big_smile.gif

А почему он извратный? Такой способ не нагружает процессор?
Go to the top of the page
+Quote Post
mariner
сообщение 6.7.2013, 1:35
Сообщение #12


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




Лишняя зависимость.
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsУстановка хаба PtokaX 0.5.2.2 на роутер под прошивкой LEDE 2017
DC++ сервер в роутере
13 мамин_парень 2 150 13.1.2018, 19:05 Посл. сообщение: мамин_парень
No New Posts Ptokax, opendchub (DC++) - Сборка пакета для OpenWRT, LEDE 2017
Пакеты хабов для прошивки роутера
0 мамин_парень 994 29.8.2017, 7:00 Посл. сообщение: мамин_парень
No new Topic has attachmentsАнтиреклама для PtokaX
API1, API2 | Скрипт антирекламы для чата и лички
39 Damaks 28 937 9.8.2017, 14:26 Посл. сообщение: Ksan
No new Topic has attachmentsPtokaX 0.5.2.1 Mod
Модификация PtokaX от alex82
16 alex82 4 482 12.4.2017, 12:08 Посл. сообщение: Saymon21
No new ВАЖНО: Topic has attachmentsPtokaX
Описание. Публикация новых версий
94 Svyat 113 129 11.4.2017, 23:08 Посл. сообщение: Alexey
No new Topic has attachmentsPtokaX в OpenWrt (Linux)
Ребята как собрать под эту систему?
21 мамин_парень 11 334 10.4.2017, 15:19 Посл. сообщение: мамин_парень
No New Posts Автозапуск PtokaX на Rassberry Pi?
Не могу запустить
13 Sezam 2 482 7.11.2016, 9:14 Посл. сообщение: Saymon21
No New Posts Доска обьявлений для Ptokax 0.5.0.x
3 NightmareUA 2 631 11.8.2016, 16:22 Посл. сообщение: Ksan
No new ВАЖНО: Topic has attachmentsPtokaX 0.5.0.1 Mod
Модификация PtokaX от alex82
111 alex82 42 330 26.4.2016, 19:44 Посл. сообщение: Karumo
No New Posts FreeBSD 11.0 & PtokaX
Проблема подключения в клиенте PtokaX по имени
5 nsd7 1 672 22.4.2016, 3:47 Посл. сообщение: Saymon21
No New Posts От: PtokaX 0.5.2.1 Mod
От темы с ID: 5784
0 Alexey 990 21.4.2016, 18:16 Посл. сообщение: Alexey
No New Posts Перенос базы пользователей с RusHub на PtokaX
3 Angel_D 2 400 5.12.2015, 2:11 Посл. сообщение: Saymon21
No new ВАЖНО: Topic has attachmentsСборка Ptokax 0.4.1.1 В Debian & Ubuntu
Руководство по установке
248 mariner 126 188 16.5.2015, 18:39 Посл. сообщение: KT315
No new Topic has attachmentsОт: PtokaX
От темы с ID: 19
48 Mol 11 075 3.12.2014, 5:53 Посл. сообщение: WINS
No New Posts Ptokax 0.5.0.2
Crash-14.11.2014-01.11.48.log
7 Drakula 4 009 25.11.2014, 15:18 Посл. сообщение: alex82

 



RSS Сейчас: 22.1.2018, 20:47