Last active
June 4, 2019 13:36
-
-
Save markski1/13444efd17e8e6d6637e10f186fafd0f to your computer and use it in GitHub Desktop.
Accuracy benchmark of the samp-precise-timers plugin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
////////////////// | |
/* | |
These are the results of 1 minute of samp-precise-timers accuracy tests in a server with NPCs and several other timers w/ moderately sized functions on each actively running. | |
Please note that the most severe innacuracies are most likely to be caused by the time it takes the AMX instance to finish a callback before serving the Timer's call rather than the timer itself being inaccurate. | |
The results display that even in these conditions the timer's accuracy remains within a <1% threshold, 99% of the time. | |
Data compiled by Markski | |
*/ | |
////////////////// | |
// Code used for testing | |
new StartTime = 0; | |
new EndTime = 0; | |
new StartTime1 = 0; | |
new EndTime1 = 0; | |
new StartTime2 = 0; | |
new EndTime2 = 0; | |
hook OnGameModeInit() { | |
SetPreciseTimer("benchmark", 1000, true); | |
SetPreciseTimer("benchmark1", 500, true); | |
SetPreciseTimer("benchmark2", 250, true); | |
} | |
forward benchmark(); | |
forward benchmark1(); | |
forward benchmark2(); | |
public benchmark() { | |
EndTime = GetTickCount(); | |
new result = EndTime - StartTime; | |
printf("1000ms timer lapse = %ims", result); | |
StartTime = GetTickCount(); | |
} | |
public benchmark1() { | |
EndTime1 = GetTickCount(); | |
new result = EndTime1 - StartTime1; | |
printf("500ms timer lapse = %ims", result); | |
StartTime1 = GetTickCount(); | |
} | |
public benchmark2() { | |
EndTime2 = GetTickCount(); | |
new result = EndTime2 - StartTime2; | |
printf("250ms timer lapse = %ims", result); | |
StartTime2 = GetTickCount(); | |
} | |
/* | |
// Results | |
// 1000ms timer | |
[12:39:24] 1001ms | |
[12:39:25] 1001ms | |
[12:39:26] 1004ms | |
[12:39:27] 1003ms | |
[12:39:28] 1000ms | |
[12:39:29] 1001ms | |
[12:39:30] 1006ms | |
[12:39:31] 1007ms | |
[12:39:32] 1000ms | |
[12:39:33] 1003ms | |
[12:39:34] 999ms | |
[12:39:35] 1002ms | |
[12:39:36] 1002ms | |
[12:39:37] 1003ms | |
[12:39:38] 1000ms | |
[12:39:39] 1005ms | |
[12:39:40] 1003ms | |
[12:39:41] 1005ms | |
[12:39:42] 1004ms | |
[12:39:43] 1007ms | |
[12:39:44] 1003ms | |
[12:39:45] 1004ms | |
[12:39:46] 1005ms | |
[12:39:47] 1003ms | |
[12:39:48] 1002ms | |
[12:39:49] 1001ms | |
[12:39:50] 1005ms | |
[12:39:51] 1005ms | |
[12:39:52] 1001ms | |
[12:39:53] 1002ms | |
[12:39:54] 1001ms | |
[12:39:55] 1003ms | |
[12:39:56] 1003ms | |
[12:39:57] 1002ms | |
[12:39:58] 1004ms | |
[12:39:59] 1005ms | |
[12:40:00] 1004ms | |
[12:40:01] 1006ms | |
[12:40:02] 1004ms | |
[12:40:03] 1004ms | |
[12:40:04] 1002ms | |
[12:40:05] 1004ms | |
[12:40:06] 1005ms | |
[12:40:07] 1004ms | |
[12:40:08] 1001ms | |
[12:40:09] 1004ms | |
[12:40:10] 1005ms | |
[12:40:11] 1001ms | |
[12:40:12] 1004ms | |
[12:40:13] 1002ms | |
[12:40:14] 1003ms | |
[12:40:15] 1005ms | |
[12:40:16] 1001ms | |
[12:40:17] 1004ms | |
[12:40:18] 1000ms | |
[12:40:19] 1003ms | |
[12:40:20] 1002ms | |
[12:40:21] 1006ms | |
[12:40:22] 1003ms | |
[12:40:23] 1004ms | |
////////////////////////////////////////////// | |
// -1ms offsets = 1 // | |
// 0ms offsets = 4 // | |
// 1ms offsets = 9 // | |
// 2ms offsets = 8 // | |
// 3ms offsets = 11 // | |
// 4ms offsets = 13 // | |
// 5ms offsets = 9 // | |
// 6ms offsets = 3 // | |
// 7ms offsets = 2 // | |
// >=8ms offsets = 0 // | |
////////////////////////////////////////////// | |
// 500ms timer | |
[12:39:24] 503ms | |
[12:39:24] 501ms | |
[12:39:25] 505ms | |
[12:39:25] 505ms | |
[12:39:26] 503ms | |
[12:39:26] 500ms | |
[12:39:27] 501ms | |
[12:39:27] 505ms | |
[12:39:28] 501ms | |
[12:39:28] 503ms | |
[12:39:29] 501ms | |
[12:39:29] 501ms | |
[12:39:30] 502ms | |
[12:39:30] 505ms | |
[12:39:31] 501ms | |
[12:39:31] 504ms | |
[12:39:32] 508ms | |
[12:39:32] 501ms | |
[12:39:33] 503ms | |
[12:39:33] 502ms | |
[12:39:34] 501ms | |
[12:39:34] 501ms | |
[12:39:35] 501ms | |
[12:39:35] 505ms | |
[12:39:36] 506ms | |
[12:39:36] 504ms | |
[12:39:37] 504ms | |
[12:39:37] 505ms | |
[12:39:38] 502ms | |
[12:39:38] 505ms | |
[12:39:39] 505ms | |
[12:39:39] 500ms | |
[12:39:40] 502ms | |
[12:39:40] 500ms | |
[12:39:41] 504ms | |
[12:39:41] 500ms | |
[12:39:42] 504ms | |
[12:39:42] 501ms | |
[12:39:43] 505ms | |
[12:39:43] 504ms | |
[12:39:44] 505ms | |
[12:39:44] 501ms | |
[12:39:45] 503ms | |
[12:39:45] 504ms | |
[12:39:46] 502ms | |
[12:39:46] 503ms | |
[12:39:47] 504ms | |
[12:39:47] 501ms | |
[12:39:48] 500ms | |
[12:39:48] 504ms | |
[12:39:49] 502ms | |
[12:39:49] 504ms | |
[12:39:50] 502ms | |
[12:39:50] 504ms | |
[12:39:51] 501ms | |
[12:39:51] 503ms | |
[12:39:52] 504ms | |
[12:39:52] 504ms | |
[12:39:53] 504ms | |
[12:39:53] 501ms | |
[12:39:54] 504ms | |
[12:39:54] 500ms | |
[12:39:55] 502ms | |
[12:39:55] 506ms | |
[12:39:56] 502ms | |
[12:39:56] 502ms | |
[12:39:57] 501ms | |
[12:39:58] 505ms | |
[12:39:58] 504ms | |
[12:39:59] 501ms | |
[12:39:59] 505ms | |
[12:40:00] 504ms | |
[12:40:00] 500ms | |
[12:40:01] 503ms | |
[12:40:01] 503ms | |
[12:40:02] 501ms | |
[12:40:02] 502ms | |
[12:40:03] 504ms | |
[12:40:03] 504ms | |
[12:40:04] 501ms | |
[12:40:04] 503ms | |
[12:40:05] 505ms | |
[12:40:05] 504ms | |
[12:40:06] 503ms | |
[12:40:06] 503ms | |
[12:40:07] 505ms | |
[12:40:07] 502ms | |
[12:40:08] 505ms | |
[12:40:08] 500ms | |
[12:40:09] 501ms | |
[12:40:09] 503ms | |
[12:40:10] 504ms | |
[12:40:10] 502ms | |
[12:40:11] 502ms | |
[12:40:11] 500ms | |
[12:40:12] 504ms | |
[12:40:12] 500ms | |
[12:40:13] 504ms | |
[12:40:13] 501ms | |
[12:40:14] 505ms | |
[12:40:14] 500ms | |
[12:40:15] 502ms | |
[12:40:15] 503ms | |
[12:40:16] 502ms | |
[12:40:16] 505ms | |
[12:40:17] 501ms | |
[12:40:17] 502ms | |
[12:40:18] 501ms | |
[12:40:18] 504ms | |
[12:40:19] 504ms | |
[12:40:19] 504ms | |
[12:40:20] 500ms | |
[12:40:20] 504ms | |
[12:40:21] 501ms | |
[12:40:21] 500ms | |
[12:40:22] 504ms | |
[12:40:22] 500ms | |
[12:40:23] 503ms | |
[12:40:23] 503ms | |
////////////////////////////////////////////// | |
// -1ms offsets = 0 // | |
// 0ms offsets = 15 // | |
// 1ms offsets = 24 // | |
// 2ms offsets = 17 // | |
// 3ms offsets = 16 // | |
// 4ms offsets = 28 // | |
// 5ms offsets = 17 // | |
// 6ms offsets = 2 // | |
// 7ms offsets = 0 // | |
// 8ms offsets = 1 // | |
// >=9ms offsets = 0 // | |
////////////////////////////////////////////// | |
// 250ms timer | |
[12:39:24] 252ms | |
[12:39:24] 255ms | |
[12:39:24] 249ms | |
[12:39:24] 251ms | |
[12:39:25] 251ms | |
[12:39:25] 252ms | |
[12:39:25] 252ms | |
[12:39:25] 255ms | |
[12:39:26] 255ms | |
[12:39:26] 252ms | |
[12:39:26] 250ms | |
[12:39:26] 255ms | |
[12:39:27] 251ms | |
[12:39:27] 254ms | |
[12:39:27] 251ms | |
[12:39:27] 253ms | |
[12:39:28] 253ms | |
[12:39:28] 253ms | |
[12:39:28] 252ms | |
[12:39:28] 251ms | |
[12:39:29] 252ms | |
[12:39:29] 254ms | |
[12:39:29] 250ms | |
[12:39:29] 251ms | |
[12:39:30] 251ms | |
[12:39:30] 254ms | |
[12:39:30] 250ms | |
[12:39:30] 253ms | |
[12:39:31] 255ms | |
[12:39:31] 251ms | |
[12:39:31] 250ms | |
[12:39:31] 254ms | |
[12:39:32] 251ms | |
[12:39:32] 254ms | |
[12:39:32] 251ms | |
[12:39:32] 253ms | |
[12:39:33] 252ms | |
[12:39:33] 252ms | |
[12:39:33] 253ms | |
[12:39:33] 254ms | |
[12:39:34] 251ms | |
[12:39:34] 255ms | |
[12:39:34] 252ms | |
[12:39:34] 255ms | |
[12:39:35] 252ms | |
[12:39:35] 255ms | |
[12:39:35] 253ms | |
[12:39:35] 252ms | |
[12:39:36] 252ms | |
[12:39:36] 255ms | |
[12:39:36] 252ms | |
[12:39:36] 261ms | |
[12:39:37] 256ms | |
[12:39:37] 252ms | |
[12:39:37] 251ms | |
[12:39:37] 252ms | |
[12:39:38] 252ms | |
[12:39:38] 251ms | |
[12:39:38] 254ms | |
[12:39:38] 251ms | |
[12:39:39] 256ms | |
[12:39:39] 255ms | |
[12:39:39] 252ms | |
[12:39:39] 253ms | |
[12:39:40] 255ms | |
[12:39:40] 252ms | |
[12:39:40] 250ms | |
[12:39:40] 250ms | |
[12:39:41] 251ms | |
[12:39:41] 257ms | |
[12:39:41] 251ms | |
[12:39:41] 252ms | |
[12:39:42] 252ms | |
[12:39:42] 256ms | |
[12:39:42] 254ms | |
[12:39:42] 253ms | |
[12:39:43] 253ms | |
[12:39:43] 252ms | |
[12:39:43] 255ms | |
[12:39:43] 253ms | |
[12:39:44] 255ms | |
[12:39:44] 251ms | |
[12:39:44] 253ms | |
[12:39:44] 251ms | |
[12:39:45] 252ms | |
[12:39:45] 251ms | |
[12:39:45] 251ms | |
[12:39:46] 275ms | |
[12:39:46] 254ms | |
[12:39:46] 252ms | |
[12:39:46] 252ms | |
[12:39:47] 252ms | |
[12:39:47] 251ms | |
[12:39:47] 253ms | |
[12:39:47] 251ms | |
[12:39:48] 252ms | |
[12:39:48] 270ms | |
[12:39:48] 252ms | |
[12:39:48] 255ms | |
[12:39:49] 252ms | |
[12:39:49] 254ms | |
[12:39:49] 252ms | |
[12:39:49] 253ms | |
[12:39:50] 256ms | |
[12:39:50] 253ms | |
[12:39:50] 253ms | |
[12:39:50] 255ms | |
[12:39:51] 251ms | |
[12:39:51] 253ms | |
[12:39:51] 251ms | |
[12:39:51] 255ms | |
[12:39:52] 252ms | |
[12:39:52] 252ms | |
[12:39:52] 250ms | |
[12:39:52] 251ms | |
[12:39:53] 256ms | |
[12:39:53] 255ms | |
[12:39:53] 255ms | |
[12:39:53] 252ms | |
[12:39:54] 266ms | |
[12:39:54] 255ms | |
[12:39:54] 254ms | |
[12:39:54] 254ms | |
[12:39:55] 251ms | |
[12:39:55] 253ms | |
[12:39:55] 253ms | |
[12:39:55] 252ms | |
[12:39:56] 251ms | |
[12:39:56] 253ms | |
[12:39:56] 250ms | |
[12:39:56] 253ms | |
[12:39:57] 251ms | |
[12:39:57] 252ms | |
[12:39:57] 253ms | |
[12:39:57] 252ms | |
[12:39:58] 254ms | |
[12:39:58] 257ms | |
[12:39:58] 252ms | |
[12:39:58] 278ms | |
[12:39:59] 248ms | |
[12:39:59] 251ms | |
[12:39:59] 254ms | |
[12:39:59] 253ms | |
[12:40:00] 253ms | |
[12:40:00] 253ms | |
[12:40:00] 250ms | |
[12:40:00] 253ms | |
[12:40:01] 271ms | |
[12:40:01] 253ms | |
[12:40:01] 254ms | |
[12:40:02] 253ms | |
[12:40:02] 251ms | |
[12:40:02] 251ms | |
[12:40:02] 256ms | |
[12:40:03] 253ms | |
[12:40:03] 251ms | |
[12:40:03] 253ms | |
[12:40:03] 252ms | |
[12:40:04] 256ms | |
[12:40:04] 252ms | |
[12:40:04] 263ms | |
[12:40:04] 251ms | |
[12:40:05] 253ms | |
[12:40:05] 254ms | |
[12:40:05] 255ms | |
[12:40:05] 251ms | |
[12:40:06] 251ms | |
[12:40:06] 255ms | |
[12:40:06] 250ms | |
[12:40:06] 254ms | |
[12:40:07] 256ms | |
[12:40:07] 271ms | |
[12:40:07] 250ms | |
[12:40:07] 254ms | |
[12:40:08] 252ms | |
[12:40:08] 256ms | |
[12:40:08] 255ms | |
[12:40:08] 251ms | |
[12:40:09] 255ms | |
[12:40:09] 254ms | |
[12:40:09] 255ms | |
[12:40:09] 254ms | |
[12:40:10] 254ms | |
[12:40:10] 253ms | |
[12:40:10] 254ms | |
[12:40:10] 251ms | |
[12:40:11] 254ms | |
[12:40:11] 255ms | |
[12:40:11] 254ms | |
[12:40:11] 252ms | |
[12:40:12] 254ms | |
[12:40:12] 251ms | |
[12:40:12] 252ms | |
[12:40:12] 250ms | |
[12:40:13] 254ms | |
[12:40:13] 254ms | |
[12:40:13] 253ms | |
[12:40:13] 253ms | |
[12:40:14] 257ms | |
[12:40:14] 252ms | |
[12:40:14] 252ms | |
[12:40:14] 254ms | |
[12:40:15] 253ms | |
[12:40:15] 227ms | |
[12:40:15] 254ms | |
[12:40:15] 253ms | |
[12:40:16] 252ms | |
[12:40:16] 251ms | |
[12:40:16] 254ms | |
[12:40:16] 254ms | |
[12:40:17] 251ms | |
[12:40:17] 251ms | |
[12:40:17] 250ms | |
[12:40:17] 255ms | |
[12:40:18] 254ms | |
[12:40:18] 264ms | |
[12:40:18] 250ms | |
[12:40:19] 253ms | |
[12:40:19] 251ms | |
[12:40:19] 253ms | |
[12:40:19] 251ms | |
[12:40:20] 255ms | |
[12:40:20] 253ms | |
[12:40:20] 255ms | |
[12:40:20] 255ms | |
[12:40:21] 251ms | |
[12:40:21] 250ms | |
[12:40:21] 255ms | |
[12:40:21] 252ms | |
[12:40:22] 252ms | |
[12:40:22] 254ms | |
[12:40:22] 254ms | |
[12:40:22] 251ms | |
[12:40:23] 259ms | |
[12:40:23] 258ms | |
[12:40:23] 253ms | |
[12:40:23] 254ms | |
[12:40:24] 251ms | |
////////////////////////////////////////////// | |
// -1ms offsets = 1 // | |
// 0ms offsets = 15 // | |
// 1ms offsets = 46 // | |
// 2ms offsets = 46 // | |
// 3ms offsets = 40 // | |
// 4ms offsets = 35 // | |
// 5ms offsets = 30 // | |
// 6ms offsets = 9 // | |
// 7ms offsets = 3 // | |
// 8ms offsets = 1 // | |
// 9ms offsets = 1 // | |
// >=10ms offsets = 4 // | |
////////////////////////////////////////////// | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment