Lag is over

How, what and why to code in BYOND.
Post Reply
User avatar
fleure
Joined: Tue Apr 15, 2014 2:50 pm
Byond Username: Fleure

Lag is over

Post by fleure » #1315

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.
Image
Ex-/tg/station maintainer for being a lazy shit.
Jalleo
Joined: Tue Apr 15, 2014 1:27 pm
Byond Username: Jalleo

Re: Lag is over

Post by Jalleo » #1323

Quick go to that beta before the huge bugs of server melting proportions. appear!
User avatar
Remie Richards
Joined: Thu Apr 17, 2014 7:11 pm
Byond Username: CrimsonVision
Location: England, UK, Earth, Sol, Milky Way, Local Group, Virgo Supercluster, Known Universe
Contact:

Re: Lag is over

Post by Remie Richards » #1343

Awesome! Now let's cram SS13 with more stuff so that the lag returns to the levels were used to!
私は完璧
User avatar
Psyentific
Joined: Mon Apr 21, 2014 7:44 am
Byond Username: Psyentific
Location: Vancouver, Canada
Contact:

Re: Lag is over

Post by Psyentific » #1349

You say the lag is over?
You are a LIAR!
I haven't logged into SS13 in at least a year.
User avatar
Bluespace
Joined: Fri Apr 18, 2014 1:04 pm
Byond Username: Bluespace
Location: UK

Re: Lag is over

Post by Bluespace » #1359

Image
I play Boris Pepper.
Image
User avatar
Numbers
Joined: Wed Apr 16, 2014 10:40 am

Re: Lag is over

Post by Numbers » #1366

Image

I give this Ron Paul stamp of approval.
"I've told you about Erro, I've warned you dwag." - Unknown
ImageImageImage
Gadd
Joined: Fri Apr 18, 2014 11:09 pm

Re: Lag is over

Post by Gadd » #1370

When will we see a difference?
User avatar
bandit
Joined: Thu Apr 17, 2014 7:35 pm
Byond Username: Bgobandit

Re: Lag is over

Post by bandit » #1377

Image
"I don't see any difference between ERP and rape." -- erro

admin feedback pls
User avatar
Wild Bill
Joined: Fri Apr 18, 2014 5:14 am

Re: Lag is over

Post by Wild Bill » #1388

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.
Spoiler:
ACTUAL POINTERS WHEN
User avatar
MrStonedOne
Host
Joined: Mon Apr 14, 2014 10:56 pm
Byond Username: MrStonedOne
Github Username: MrStonedOne

Re: Lag is over

Post by MrStonedOne » #1402

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.
Forum/Wiki Administrator, Server host, Database King, Master Coder
MrStonedOne on digg(banned), Steam, IRC, Skype Discord. (!vAKvpFcksg)
Image
NSFW:
Image
User avatar
fleure
Joined: Tue Apr 15, 2014 2:50 pm
Byond Username: Fleure

Re: Lag is over

Post by fleure » #1412

It sounds like explosions and loose singularities could be a lot easier on the server performance, then?
Ex-/tg/station maintainer for being a lazy shit.
User avatar
Durkel
Joined: Wed Apr 23, 2014 5:14 pm
Byond Username: Durkel

Re: Lag is over

Post by Durkel » #1416

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.
Sierra Welbe says, "Tim Ebow fucking threw soap everywhere near the HoP office, like I mean 20 fucking goddamn bars AND I CAN'T STOP SLIPPING"
Image
User avatar
Psyentific
Joined: Mon Apr 21, 2014 7:44 am
Byond Username: Psyentific
Location: Vancouver, Canada
Contact:

Re: Lag is over

Post by Psyentific » #1422

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.
I haven't logged into SS13 in at least a year.
User avatar
MrStonedOne
Host
Joined: Mon Apr 14, 2014 10:56 pm
Byond Username: MrStonedOne
Github Username: MrStonedOne

Re: Lag is over

Post by MrStonedOne » #1423

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.
Forum/Wiki Administrator, Server host, Database King, Master Coder
MrStonedOne on digg(banned), Steam, IRC, Skype Discord. (!vAKvpFcksg)
Image
NSFW:
Image
User avatar
MrStonedOne
Host
Joined: Mon Apr 14, 2014 10:56 pm
Byond Username: MrStonedOne
Github Username: MrStonedOne

Re: Lag is over

Post by MrStonedOne » #1426

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.
Forum/Wiki Administrator, Server host, Database King, Master Coder
MrStonedOne on digg(banned), Steam, IRC, Skype Discord. (!vAKvpFcksg)
Image
NSFW:
Image
User avatar
MisterPerson
Board Moderator
Joined: Tue Apr 15, 2014 4:26 pm
Byond Username: MisterPerson

Re: Lag is over

Post by MisterPerson » #1432

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.
I code for the code project and moderate the code sections of the forums.

Feedback is dumb and it doesn't matter
User avatar
Wild Bill
Joined: Fri Apr 18, 2014 5:14 am

Re: Lag is over

Post by Wild Bill » #1527

Spoiler:
new != del
User avatar
MisterPerson
Board Moderator
Joined: Tue Apr 15, 2014 4:26 pm
Byond Username: MisterPerson

Re: Lag is over

Post by MisterPerson » #1531

Spoiler:
I'm trying to prove a point that these revolutions are because of GC and not from the current version.
You may now lower your expectations. /vg/ says there's been no change. Why am I not surprised?
I code for the code project and moderate the code sections of the forums.

Feedback is dumb and it doesn't matter
Post Reply

Who is online

Users browsing this forum: No registered users