Page 1 of 1
Lag is over
Posted: Wed Apr 23, 2014 9:05 am
by fleure
http://www.byond.com/forum/?post=1549601
I've made some major changes to address these issues in 506.1243 for most object types. Hopefully this will result in a speed improvement for some games. I suspect that the degree of improvement will depend greatly on the game's "action quotient", so some like SS13 might see a bigger boost than a typical RPG, but it's really hard to be sure where to expect the most impact.
I'm currently tracking a 600% improvement over the last incremental beta. This isn't a small fix like you implied, it's absolutely major.
Re: Lag is over
Posted: Wed Apr 23, 2014 9:46 am
by Jalleo
Quick go to that beta before the huge bugs of server melting proportions. appear!
Re: Lag is over
Posted: Wed Apr 23, 2014 12:21 pm
by Remie Richards
Awesome! Now let's cram SS13 with more stuff so that the lag returns to the levels were used to!
Re: Lag is over
Posted: Wed Apr 23, 2014 12:44 pm
by Psyentific
You say the lag is over?
You are a LIAR!
Re: Lag is over
Posted: Wed Apr 23, 2014 1:40 pm
by Bluespace
Re: Lag is over
Posted: Wed Apr 23, 2014 1:57 pm
by Numbers
I give this Ron Paul stamp of approval.
Re: Lag is over
Posted: Wed Apr 23, 2014 2:34 pm
by Gadd
When will we see a difference?
Re: Lag is over
Posted: Wed Apr 23, 2014 2:49 pm
by bandit
Re: Lag is over
Posted: Wed Apr 23, 2014 3:35 pm
by Wild Bill
600% boost in object allocation speed is good.
Especially like he said with strings and lists. Good news.
Also:
Interestingly strings were part of your stress test's running time because of the \ref macro you used.
Re: Lag is over
Posted: Wed Apr 23, 2014 4:36 pm
by MrStonedOne
it used to take 21μs (without deletion bullshit slowing it down) to create a obj or mob or well anything.
it now takes 3.4μs to create objects and it doesn't slow down when you've recently deleted a bunch of objects.
(note, this is based on his tests on his machine)
Also:
Automatic garbage collection is the only answer. If you are using the del keyword, you are going to murder your performance. Upon reaching the millions of objects, deleting even a single object can begin to take a very, very long time. Simply removing references to the object when it is no longer required is far better, and will not result in significant CPU consumption, whilst still releasing the object for reuse.
We should fix up the code where we can to take this into account.
Re: Lag is over
Posted: Wed Apr 23, 2014 5:12 pm
by fleure
It sounds like explosions and loose singularities could be a lot easier on the server performance, then?
Re: Lag is over
Posted: Wed Apr 23, 2014 5:19 pm
by Durkel
I've been lagging for so long I don't know what I'm going to do when it's gone. Lag has been with me since the beginning. it's like saying good bye to a old friend who now does crack and steals your wallet.
Re: Lag is over
Posted: Wed Apr 23, 2014 5:38 pm
by Psyentific
Durkel wrote:I've been lagging for so long I don't know what I'm going to do when it's gone. Lag has been with me since the beginning. it's like saying good bye to a old friend who now does crack and steals your wallet.
It's just not SS13 without the lag. I refuse to believe that the lag is gone.
Re: Lag is over
Posted: Wed Apr 23, 2014 5:45 pm
by MrStonedOne
fleure wrote:It sounds like explosions and loose singularities could be a lot easier on the server performance, then?
On my laptop, with a 1st gen intel duo with ht, doing a bomb cap bomb at lowest bomb cap, was instant.
no lag, no nothing.
upping the bomb cap to max, it took about 2 or 3 minutes of no response, followed by it running with less lag than we normally see when the singlo is beaconed and loose.
Now, this was with one person connected, who was ghosted (me).
No idea how it would run on sibyl with 60 users on.
Note: first bomb was in old ai core location on box right where the ai would be (i haven't updated in a bit)
second bomb was 3 squares up from the doors just above bridge that lead to brig.
Re: Lag is over
Posted: Wed Apr 23, 2014 5:58 pm
by MrStonedOne
More testing:
ADMIN LOG: MrStonedOne/(Izaiah Dimeling) changed the bomb cap to 7, 14, 28
ADMIN LOG: Explosion with size (7, 14, 28, 0) in area Bridge (113,138,1)
Code: Select all
Profile results (total time)
Proc Name Self CPU Total CPU Real Time Calls
----------------------------------------------------------------------------- --------- --------- --------- ---------
/datum/effect/effect/system/spark_spread/start 0.042 0.110 800.964 126
/datum/effect/effect/system/harmless_smoke_spread/start 0.000 0.006 25.308 1
/client/proc/drop_bomb 0.000 0.000 23.180 1
/proc/explosion 0.056 1.716 12.362 4
/datum/effect/system/expl_particles/proc/start 0.000 0.014 6.480 1
/obj/machinery/door/airlock/open 0.000 0.002 6.103 5
/datum/controller/game_controller/proc/process_machines 0.908 4.881 4.881 64
/mob/living/simple_animal/corgi/Ian/Life 0.004 0.004 3.215 65
/turf/Enter 0.050 0.077 3.201 3723
/obj/machinery/door/proc/open 0.001 0.002 3.125 3
/obj/machinery/door/airlock/open 0.000 0.002 3.125 3
/obj/machinery/door/airlock/proc/autoclose 0.000 0.000 2.978 4
/obj/machinery/door/airlock/close 0.000 0.000 2.978 4
/obj/machinery/door/proc/close 0.000 0.000 2.978 3
/obj/machinery/door/airlock/close 0.000 0.000 2.978 3
/mob/living/say 0.004 0.006 2.952 2
/proc/flick_overlay 0.000 0.000 2.946 2
/proc/powernet_nextlink 0.052 2.770 2.770 900
/obj/machinery/bot/secbot/Bump 0.000 0.000 1.977 4
/obj/machinery/proc/auto_use_power 0.375 1.810 1.820 114371
/turf/Entered 1.760 1.786 1.792 3075
/turf/simulated/Entered 0.006 1.729 1.729 2771
/turf/New 0.009 1.628 1.628 212
/proc/qdel 0.011 1.281 1.282 1333
/datum/controller/air_system/proc/process_air 0.001 1.223 1.223 65
/datum/controller/air_system/proc/process 0.000 1.223 1.223 65
/datum/controller/air_system/proc/process_active_turfs 0.030 1.183 1.184 65
/turf/simulated/proc/process_cell 0.318 1.154 1.157 11813
/atom/movable/Bump 0.003 0.009 1.155 2397
/obj/machinery/door/Bumped 0.000 0.004 1.150 35
/obj/machinery/door/proc/bumpopen 0.000 0.004 1.150 11
/obj/machinery/door/airlock/bumpopen 0.000 0.004 1.150 11
/obj/machinery/door/airlock/bumpopen 0.000 0.004 1.150 11
/obj/machinery/proc/use_power 0.487 1.079 1.098 148632
/turf/simulated/wall/Del 0.825 0.935 0.935 227
/atom/movable/Del 0.877 0.881 0.883 1835
/obj/machinery/turret/proc/die 0.000 0.001 0.869 2
/obj/machinery/turret/ex_act 0.000 0.001 0.869 8
/datum/controller/game_controller/proc/process_mobs 0.028 0.726 0.726 65
/obj/machinery/proc/powered 0.421 0.653 0.670 114657
/turf/simulated/proc/share_air 0.073 0.498 0.501 29569
/datum/light_source/proc/check 0.329 0.469 0.495 135294
/obj/machinery/ex_act 0.002 0.476 0.476 720
/proc/get_area 0.441 0.449 0.471 152040
/obj/machinery/power/apc/process 0.273 0.461 0.461 7793
Took about 5~ seconds to explode, followed by only a small amount of lag while moving for 20 seconds, followed by mostly smooth operation.
Re: Lag is over
Posted: Wed Apr 23, 2014 6:50 pm
by MisterPerson
Do some tests with a pre-qdel() version of /tg/station with the current BYOND beta vs same /tg/station on the previous BYOND beta.
Just curious.
Re: Lag is over
Posted: Thu Apr 24, 2014 2:10 am
by Wild Bill
Re: Lag is over
Posted: Thu Apr 24, 2014 2:30 am
by MisterPerson
You may now lower your expectations. /vg/ says there's been no change. Why am I not surprised?