Performance

Details about performance can be found here !

Design intention is to keep the checking time in average roughly below 10 microseconds for some 2.6 GHz reference machine. It depends on many factors, and might strongly vary with the configuration (lazy-dist) and the amount of permdefs to be considered. The idea is that even a 100 slot server would not use more than one or two milliseconds per tick for all checks (average), though the bigger servers perhaps have stronger processors, that will allow for lower average numbers.

Details by version (nanoseconds):
Basically default settings, since 0.7.1 CPU: AMD Opteron(TM) Processor 6238 (12 Cores), on a hosted server, not sure how many servers on that machine.

  • Timings for 1.1.0, less permission changes, low load, though.
10 RSP v1.1.0
Plugin 10
    PlayerQuitEvent Time: 1608029 Count: 255 Avg: 6305
    PlayerJoinEvent Time: 21520776 Count: 255 Avg: 84395
    PlayerMoveEvent Time: 5004284950 Count: 1304944 Avg: 3834
    PlayerChangedWorldEvent Time: 2961863 Count: 217 Avg: 13649
    PluginEnableEvent Time: 748146 Count: 16 Avg: 46759
    PlayerRespawnEvent Time: 12614164 Count: 81 Avg: 155730
    VehicleMoveEvent Time: 35086287 Count: 2819 Avg: 12446
    VehicleExitEvent Time: 55555 Count: 2 Avg: 27777
    PlayerKickEvent Time: 670953 Count: 35 Avg: 19170
    PlayerTeleportEvent Time: 20738553 Count: 2323 Avg: 8927
    PlayerTeleportEvent Time: 52687900 Count: 2323 Avg: 22680
    VehicleEnterEvent Time: 169926 Count: 4 Avg: 42481
    VehicleEnterEvent Time: 51815 Count: 4 Avg: 12953
    PlayerPortalEvent Time: 421718 Count: 8 Avg: 52714
    PlayerPortalEvent Time: 752589 Count: 8 Avg: 94073
    Total time 5154373224 (5s)


(0.12.0-DEV-X)

  • These versions are tendentially slower, given the checking time itself, because they were refactored for structure and to get some chunks of code out of the way rather than gaining speed, though saving is in fact not necessary and there some time can be spared for the average numbers.


(0.11.6)

  • Info: permdefs=5 | linked=35/879 in 3 worlds
  • [RSP] Stats: checkout_park av=167,502 n=13 | checkout_all av=43,712 n=3 | check_PlayerChangedWorld av=99,927 n=2 | checkJoin_PlayerJoin av=1,604,208 n=22 | check_PlayerMove av=7,330 n=145,428 | check_PlayerPortal av=89,268 n=2 | check_PlayerTeleport av=121,351 n=321
  • With min/max values (some max values seem not to be caused by RSP but thread switching or other effects):
    [RSP] Stats: checkout_park av=120,329 n=19 rg=10,736...1,967,568 | checkout_all av=35,717 n=4 rg=3,875...121,662 | check_PlayerChangedWorld av=99,927 n=2 rg=43,262...156,593 | checkJoin_PlayerJoin av=1,237,227 n=29 rg=49,326...12,895,134 | check_PlayerMove av=7,292 n=203,827 rg=549...20,095,552 | check_PlayerPortal av=89,268 n=2 rg=20,417...158,119 | check_PlayerTeleport av=107,117 n=388 rg=1,494...6,966,916


(0.11.5)

  • [INFO] [RSP] Stats: checkout_park=108503.2(6944203/64) check_PlayerChangedWorld=37642.9(1505715/40) checkJoin_PlayerJoin=286692.2(48164286/168) check_PlayerMove=6492(4573509735/704481) check_PlayerRespawn=133133.8(25827956/194) check_PlayerPortal=102577.8(2461868/24) check_PlayerTeleport=55574.8(79972076/1439)


(0.11.3)

  • [RSP] Stats: checkout_park=243787.8(11945600/49) check_PlayerChangedWorld=53768.5(1075370/20) checkJoin_PlayerJoin=648614.2(83671232/129) check_PlayerMove=7693.9(4733687018/615255) check_VehicleEnter=31506.2(189037/6) check_PlayerRespawn=130107.6(4553766/35) check_PlayerPortal=93522.2(1309311/14) check_PlayerTeleport=85750.9(104873321/1223)


(0.11.0)

  • [RSP] Stats: check_PlayerChangedWorld=12330.7(172630/14) checkJoin_PlayerJoin=147890.6(34902183/236) check_PlayerMove=7782.5(11952258087/1535777) check_VehicleEnter=6778.1(115227/17) check_PlayerRespawn=419879.8(44927141/107) check_PlayerPortal=51658.9(361612/7) check_PlayerTeleport=49687(119894623/2413)


(0.10.0)

  • [RSP] Stats: check_playerMove=8518.9(5661145698/664540) recheck_playerJoin=198164.5(30517335/154) checkout_playerKick=21388.8(128333/6) check_playerChangeWorld=76177.4(685597/9) check_playerRespawn=148039.3(16728446/113) check_playerPortal=151529.2(1212234/8) check_playerTeleport=87854.1(162705879/1852) checkout_playerQuit=34571(5151080/149)


(0.7.2)

  • Hosted server ... CPU: AMD Opteron(TM) Processor 6238 (12 Cores),
  • Several people with permissions for certain regions + a registered listenere for region enter/leave (police plugin) that adds to the checking time, 600+ regions in total, maximum overlap for regions is low though, in the town often 2 regions.
  • Stats: check_playerMove=9454(27590403371/2918383) recheck_playerJoin=586420.5(187654565/320) checkout_playerKick=14217.8(639800/45) check_playerChangeWorld=40149.5(4657345/116) check_playerRespawn=232373.7(55769684/240) check_playerPortal=99155.5(8130755/82) checkout_playerQuit=143590.3(44225810/308) check_playerTeleport=118075.1(512681940/4342)
  • Stats: check_playerMove=4816.7(9882883522/2051795) recheck_playerJoin=628301.8(123775445/197) check_playerChangeWorld=37421.8(1309763/35) checkout_playerKick=10439(229658/22) check_playerRespawn=79617.7(13057297/164) check_playerPortal=67057.1(1810541/27) check_playerTeleport=42097(91560979/2175) checkout_playerQuit=35732.4(6646225/186)


(0.7.1)

  • Essentally the same as 0.7.0
  • Hosted server ... CPU: AMD Opteron(TM) Processor 6238 (12 Cores)
  • [RSP] Stats: check_playerMove=6569.1(737777767/112311) recheck_playerJoin=1455878.7(61146904/42) checkout_playerKick=13370(13370/1) check_playerChangeWorld=57893.7(173681/3) check_playerRespawn=61412.5(2517914/41) check_playerPortal=80988(161976/2) check_playerTeleport=37575.3(10859269/289) checkout_playerQuit=32335.1(1164062/36)


(0.7.0)

  • Hosted server, possibly with many other servers on it:
    Intel(R) Xeon(R) CPU E31240 @ 3.30GHz (8 Cores)
    (Seems to be 4 physical cores.)
  • Default settings, uncertain number of creative regions using RSP, >600 regions in total, uncertain number of users using RSP, up to 12 online.
  • [RSP] Stats: check_playerMove=6083.8(9973242107/1639308) recheck_playerJoin=409504.5(129403421/316) checkout_playerKick=248394.9(3229134/13) check_playerChangeWorld=22816.3(1460245/64) check_playerRespawn=43065.2(8957555/208) check_playerPortal=33984.9(1189472/35) check_playerTeleport=42543.3(128948854/3031) checkout_playerQuit=117633(35878051/305)
  • Phase with ca.10 players online (more or less average), some use RSP-dependent features:
  • [RSP] Stats: check_playerMove=5117.4(3909233478/763912) recheck_playerJoin=401524(54607266/136) check_playerChangeWorld=28127.4(506294/18) checkout_playerKick=10281.7(61690/6) check_playerRespawn=35715.9(2250100/63) check_playerPortal=28323.6(368207/13) check_playerTeleport=41980.7(73592243/1753) checkout_playerQuit=18092.8(2315877/128)


(0.5.0)

  • As with 0.4.0 no new features used.
  • The value of playerMove usually starts off clearly higher. It may vary a lot with more people actually going into zones where they get permissions added or removed, or where regions are defined at all.
  • [RSP] Stats: check_playerMove=5489.4(1035121482/188566) recheck_playerJoin=766574.3(16098061/21) checkout_playerKick=1297617(5190468/4) check_playerRespawn=43199.3(259196/6) checkout_playerQuit=39133.1(743529/19) check_playerTeleport=87390.6(22808953/261)


(0.4.0)

  • Same server as lower versions, but settings set to only saving permissission users at enable/disable (not sure that really has a n effect).
  • [RSP] Stats: check_playerMove=6476.7(10921671336/1686290) recheck_playerJoin=375707.3(96181060/256) checkout_playerKick=12145.1(364352/30) check_playerChangeWorld=214611(1502277/7) check_playerRespawn=29960(3145798/105) check_playerPortal=60669.8(364019/6) check_playerTeleport=19152.7(36849853/1924) checkout_playerQuit=77996.2(19733044/253)
  • [RSP] Stats: check_playerMove=6912.1(11885163582/1719463) recheck_playerJoin=314093.4(79151531/252) checkout_playerKick=12411.6(335114/27) check_playerChangeWorld=81878.4(3275137/40) check_playerRespawn=38764.4(3372505/87) check_playerPortal=38059.2(1065657/28) check_playerTeleport=65938(151327604/2295) checkout_playerQuit=37088.6(9123794/246)
  • [RSP] Stats: check_playerMove=4539.6(3762755087/828867) recheck_playerJoin=273599.5(21614358/79) checkout_playerKick=6736.8(80842/12) check_playerChangeWorld=85576.8(2224996/26) check_playerRespawn=35279.9(2645991/75) check_playerPortal=45939.7(918794/20) check_playerTeleport=15995.7(24041583/1503) checkout_playerQuit=15023.6(1141790/76)
  • [RSP] Stats: check_playerMove=14804.7(17280371667/1167223) recheck_playerJoin=295281.2(59646800/202) check_playerChangeWorld=159660.4(6226755/39) checkout_playerKick=7485.2(82337/11) check_playerRespawn=40074.7(2404484/60) check_playerPortal=152017.5(4104473/27) checkout_playerQuit=29547.5(5939040/201) check_playerTeleport=47258.7(97920109/2072)


(0.2.0)

  • As with 0.0.0, just added a distance heuristic to avoid unnecessary checking.
  • A glimpse:
  • [RSP] Stats: check_playerMove=18278.7(9212975368/504029) recheck_playerJoin=727592.8(49476313/68) checkout_playerKick=11590.5(69543/6) check_playerChangeWorld=443000.6(3544005/8) check_playerRespawn=180731.2(4879743/27) check_playerPortal=259216.8(2073734/8) check_playerTeleport=172164.2(137042673/796) checkout_playerQuit=281645.2(18588585/66)
    (0.0.0)
  • Hosted server, possibly with many other servers on it:
    Intel(R) Xeon(R) CPU E31240 @ 3.30GHz (8 Cores)
  • I am not sure how many regions there are defined, curently the setup seems to be with 20+ regions that are added automatically by swgt, while there are 600+ WorldGuard regions in total, few players having perms for the registered ones at all.
  • Some stats with few users (av(sum,n), in nanoseconds):
    [RSP] Stats: check_playerMove=74214.6(47470212267/639634) recheck_playerJoin=876870.5(90317657/103) check_changeWorld=121514.9(1215149/10) check_respawn=691872.8(25599293/37) checkout_playerKick=2067181.8(18604636/9) check_playerPortal=78425.5(627404/8) check_playerTeleport=229226.3(201260695/878) checkout_playerQuit=289606.2(28960623/100)

Comments

Posts Quoted:
Reply
Clear All Quotes