- Atheran 4m
- Melpothalia 16m That's Mrs. Broken Brain [Bottom Text] to you!
- Baron17 7m
- Strummer 1s
- NovaQuinn 1m
- Mench 40s I do Facebook and Website stuff.
- MrJDucky2 21m I'm actually a Duck in real life. Honest <3
- Zeroo 0s
- Storm 58s
- Wonderland 48s
- Lofi 1m
- Leoni 51m
- Napoleon 2m Bad bish is bad.
- jsmith225 47m
- Archer 18s
- TwistedAkai 21m examine, @newbie, @rules
- Malakai 1m
- Vivvykins 1m
- Revex 2h
- SpaceLatency 1m
- crashdown 6s
- FairyBlue 4s
- RealHumanBean 58s Something?
- vantablack 2m
- pfh 3m
- Jackserious 4h
- Marioanius 8m Hamilton wrote, the other 51!
- FancyPenguin 1m
- waddlerafter 6m
- Neekly 3h youtu.be/-mPw174m0VE
- Hippo 35s
- attaboy 11s
- whatislove00 1h https://www.youtube.com/watch?v=v0dUnoecoZ0
- Sara 37s
- Barrien 28s
- arm0r3r 2m
- Solshine 16s
- geoux 2s
- ComradeNitro 53m
- Malanth 54s
- Rigo 47m
a Cerberus 13s Head Builder & GM when I need to
- SacredWest 4h
j Johnny 2d New Code Written Nightly. Not a GM.
And 35 more hiding and/or disguised
Connect to Sindome @ moo.sindome.org:5555 or just Play Now

Removing Legacy Code
To save ticks and clean up!

Some of you may know this, some of you may not. LambdaCore is the engine the game runs on. LambdaMOO is a really old social MOO. They are still around. They used to do regular dumps of their database and put them out there for people to use as the basis for their own games.

They did a lot of really cool code work and the developers / maintainers of LambdaCore were the ones writing a lot of that code. We use a lot of this code in our system at low levels because at it's core Sindome was built on top of one of the LambdaMOO dumps, and as time went on, we moved additional changes over that they released. All that happened way long ago because the last dump they did was in like 2002 or something.

What I've found is that there are a lot of low level things that are built into our core that we never use. We kept them around because we might have used them or didn't know where they were integrated or didn't have time to remove them.

How that the game is growing larger, I am finding the time to prune some of these unused bits of code. This thread will serve as a log of things I've done and the number of ticks we saved because of it.

#1: Removing the .paranoid and .gaglist check from #6:tell

This is a simple check that takes 8 ticks. No one is on the .gaglist and no one is .paranoid. I don't even know what .paranoid is really used for on LambdaMOO. Maybe keeping a log of the most recent X number of messages you've been told? It's unclear, but we don't need it. It's a social moo feature.

Now, saving 8 ticks doesn't seem like a lot. However, let's look at the math. I tested on our dev server and me doing basically nothing, caused 256 tells in 5 minutes.

If it was the actual MOO that number would be much higher for me.

Now, let's estimate that number. Say there are 50 players online, and each one gets 50 tells a minute, every minute, the entire day. This accounts for the fact that sometimes there are less people on, or more people on. Let's figure out how many tells that is a year. Also, please consider this a CONSERVATIVE estimate. There are probably many more than 50 tells a minute for the average player.

50 * 50 * 60 * 24 * 365 = 1,314,000,000

1.3 BILLION tells a year. Holy crap. That's a lot of tells. But, consider that tells are basically you receiving one line of text from the MOO. Descriptions are multiple lines and therefore multiple tells. You type @stats? That's like 50 tells right there. So again conservative.

Now, wait a second. We save --> 8 <--- ticks for each time tell is used.

That's... 10,512,000,000 ticks a year we save with this very straightforward change.

Now, ticks are not really a measurement of time. It's hard to quantify how long it takes to execute a tick. Different computers will execute a tick faster or slower.

However, to give you an idea of how it works, each line of code will take 1 or more ticks. Doing...

a = 0; //1 tick

if (a > 1) // 2 ticks


So, on our development server I told the moo to loop over every number been 1 and 2.1 billion. Just to see how long it would take. I did that 16 hours ago. It's still running. I don't know when it will finish.

This change means commands will execute faster, and the MOO will have more resources available. It's a good change. More to come.

-- S