19.03.2012, 15:58
Ehm, okay. Two words: great work.
This really works, and can boost functions by more than 300%, in my opinion this is a must for every server, if it works bugfree, and could even be integrated in the samp server's amx loader.
Here are some benchmark results (floatrandom is pure pawn calculation, the rest contains more or less native functions)
Without JIT
With JIT (windows version)
Hm, my server crashes on connection when using this, Ill try to spot the problem:
Trying to use the crashdetect plugin right now...
This really works, and can boost functions by more than 300%, in my opinion this is a must for every server, if it works bugfree, and could even be integrated in the samp server's amx loader.
Here are some benchmark results (floatrandom is pure pawn calculation, the rest contains more or less native functions)
Without JIT
Code:
Test "floatrandom1" finished: 2684ms (3725782.5/sec) Test "IsPlayerAimingAt" finished: 3004ms (332889.5/sec) Test "GetPlayerCameraAimVector" finished: 192ms (5208333.5/sec)
Code:
Test "floatrandom1" finished: 715ms (13986014.0/sec) Test "IsPlayerAimingAt" finished: 2301ms (434593.6/sec) Test "GetPlayerCameraAimVector" finished: 22ms (45454548.0/sec)
Code:
SA-MP Server: 0.3d Exception At Address: 0x6C1D826E Registers: EAX: 0x00000001 EBX: 0x03FD35E8 ECX: 0xFC2C3F14 EDX: 0x021346B8 ESI: 0x03FA0778 EDI: 0x03ECC7DC EBP: 0x00000000 ESP: 0x0018EAE4 EFLAGS: 0x00010202 Stack: +0000: 0x00000008 0x00000000 0x00000004 0x00000002 +0010: 0x032E6E08 0x0327ECE8 0x00000034 0x0327ECE8 +0020: 0x08A50000 0x00000008 0xFFFFFFFF 0x0018EB2C +0030: 0x6C1D830A 0x00043248 0x03FD35E8 0x0018EFC4 +0040: 0x00000000 0x02185EE0 0x0018EB3C 0x6C1DDC50 +0050: 0x00000034 0x0018EF98 0x0018EFA8 0x004718AE +0060: 0x02185EE0 0x0018EF98 0x00000034 0x00470069 +0070: 0x65747449 0x6E4F5F72 0x79616C50 0x6F437265 +0080: 0x63656E6E 0x00470074 0x00000001 0x032E6CA8 +0090: 0x03FD35F0 0x00000000 0x00000000 0x00000000 +00A0: 0x00000000 0x00000000 0x00000000 0x00000000 +00B0: 0x00000000 0x00000000 0x00000000 0x00000000 +00C0: 0x00000000 0x00000000 0x00000000 0x00000000 +00D0: 0x00000000 0x04980000 0x84001800 0x5E0018D8 +00E0: 0xC86C1BFB 0x000018D8 0xFF000000 0xD5FFFFFF +00F0: 0x00CF9452 0x00400219 0xFFFF0000 0x0000FFFF +0100: 0x00000000 0x00000000 0x00000000 0x8B000000 +0110: 0x00100003 0x00000000 0x00400000 0xFFF00000 +0120: 0x0000FFFF 0x00000000 0x00980000 0x00000074 +0130: 0x00000001 0x03282DCC 0x033D0000 0x033DEFA8