Reset Password
Existing players used to logging in with their character name and moo password must signup for a website account.
- Speccy 12m
- crashdown 7m
- Ghostinthekeys 3m
- Blank 22s
- Baron17 56s
w Storm 37s I dabble in the puppeting.
- Jade1202 29s
- Cyberpunker 44m
- Tori 5m
- Jaydon2317 12m
- BCingyou 24s
- HottFoxx 3m I don't play on your schedule.
- NovaQuinn 7m
j Kwisatz 1h Definitely not a GM.
- Vivvykins 13s
- Madhouse 34s
- Mench 3m I do Facebook and Website stuff.
- Sara 41s
- Vera 5s youtu.be/-ACGeYMKYVE
- fujiyamyam 52s
- pfh 2h
- Jameson 7m making the eternal black firmament my side bitch
- waddlerafter 19s
- attaboy 1m
- arm0r3r 11m
c Mephisto 11m Malt doch nicht immer den Teufel an die Wand.
- TwistedAkai 30s examine, @newbie, @rules
- MrJDucky2 27m I'm actually a Duck in real life. Honest <3
- SacredWest 25m
- Ed 17m
j Johnny 4h New Code Written Nightly. Not a GM.
And 31 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

endif

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

Yay!