And then totally lose my marbles.

Tuesday, January 30

Life

I'll Remember My Own Head Next

Got about sixty miles out of Melbourne when I realised that I'd forgotten to re-pack my toiletries bag. I'd checked and double-checked the important stuff: wallet, keys, iPod, phone, camera. The laptop is a too big and heavy to easily forget.

So I stopped at the supermarket on the way home and got a hairbrush and a razor; everything else I have spares of.

And then I finally got home and dumped out my backpack and there it was. Okay, I forgot the washcloth, so I'm not totally bewildered, but I somehow remembered everything else despite the best efforts of my two older nephews (three and five; the youngest was blissfully asleep with mummy.)

In a word: Back.

Sleep now.

Posted by: Pixy Misa at 07:57 AM | Comments (1) | Add Comment | Trackbacks (Suck)
Post contains 132 words, total size 1 kb.

Thursday, January 25

Life

Run Away!

I'm heading down to Melbourne for the Australia Day long weekend to visit my family. As usual, I have about three days worth of stuff I need to do before I leave, and I have to catch a train in, oh, five hours.

I expect to sleep most of the way down...

Now where did I put those Sugar DVDs?

Posted by: Pixy Misa at 09:41 AM | Comments (4) | Add Comment | Trackbacks (Suck)
Post contains 64 words, total size 1 kb.

Tuesday, January 23

Geek

Goddam Docking Computer!

Saw this over at Ace's, and thought That needs to be set to The Blue Danube. Ask, and apparently you will receive:

more...

Posted by: Pixy Misa at 01:54 PM | Comments (14) | Add Comment | Trackbacks (Suck)
Post contains 50 words, total size 1 kb.

Geek

More Fastnessess

Got New Minx up and running on Kasumi:
Processing 0.05, elapsed 0.0557 seconds.
42 queries taking 0.0192 seconds, 138 records returned.
Page size 98 kb.
Powered by Minx 0.81.19a.
Cf. Martina:
Processing 0.09, elapsed 0.1028 seconds.
42 queries taking 0.0383 seconds, 138 records returned.
Page size 98 kb.
Powered by Minx 0.81.19a.
So, not quite twice as fast, and hence not quite back to the speeds of Old Minx on Nabiki.

I do have a solution for this: Replace the template interpreter with a compiler that custom-builds all the database queries. And I might even do that at some point, but not today. 55 milliseconds is something I can live with.

Oh, and the perennial favourite:

Retrieved from cache, processing 0.0, elapsed 0.0019 seconds.
Page size 98 kb.
Powered by Minx 0.81.19a.
I always like seeing that one. smile

Posted by: Pixy Misa at 10:02 AM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 137 words, total size 1 kb.

Monday, January 22

Geek

Fastnesses!

This is updated from my previous post. I now have three new servers to play with, so let's see how they go.

Linux

Kasumi, Ukyo and Shampoo are Xeon 3060s: dual-core 64-bit 2.4GHz
Akane and Nabiki are Opteron 170s: dual-core 64-bit 2.0GHz.
Ranma is an Athlon XP 3000+: single-core 32-bit 2.16GHz.
Martina is an Athlon XP 2800+: single-core 32-bit 2.08GHz.
Naga is an Athlon 64 3200+: single-core 64-bit 2.0GHz.
Namo was a P4 Celeron: single-core 32-bit 1.7GHz

Windows

Lina: Pentium 4 2.6GHz
Amelia: Core Duo 1.66GHz
Haruhi: Core 2 Duo 2.4GHz

SystemCPUClockPythonLoopStringScanTotal
KasumiCore 22.4GHz2.50.7431.4430.4672.653
NagaAthlon 642.0GHz2.5/64-bit1.7372.0301.3375.103
AkaneOpteron2.0GHz2.51.8872.7330.8805.500
MartinaAthlon XP2.08GHz2.51.8172.7930.8675.447
RanmaAthlon XP2.16GHz2.51.7602.6970.8405.297
LinaPentium 42.6GHz2.5 (Win)2.0385.0580.8757.971
HaruhiCore 2 Duo2.4GHz2.5 (Win)0.6441.9330.4773.053
AmeliaCore Duo1.66GHz2.5 (Win)1.2433.1581.0335.434
NamoCeleron1.7GHz2.4.33.0474.8931.9609.900

Psyco

SystemCPUClockPythonLoopStringScanTotal
KasumiCore 22.4GHz2.5+Psyco0.0130.3530.5030.870
HaruhiCore 22.4GHz2.5 (Win)+Psyco0.0120.2730.5540.839

I'm not sure where the difference between the Linux and Windows versions comes from; I'm guessing that Psyco would still be using Python's string libraries, and they're compiled using a different (better) compiler on Windows, perhaps Intel's. I'm still using GCC 3.4.6 (which is what CentOS installs); I might be able to do better with GCC 4.1, and I'll probably try that at some point.

Posted by: Pixy Misa at 10:34 PM | Comments (5) | Add Comment | Trackbacks (Suck)
Post contains 186 words, total size 3 kb.

Anime

Naked Naughty Admiral Chicks 'R' Us

I can't easily scan that inside page, but she's on the back cover as well. Just not quite so much of her...

banner-back.jpg

crest-back.jpg

Posted by: Pixy Misa at 12:14 AM | Comments (19) | Add Comment | Trackbacks (Suck)
Post contains 34 words, total size 1 kb.

Sunday, January 21

Life

Lunch

Had lunch today with Pete Zaitcev, who's been in Sydney the past few days for Linux Conference Australia. (And who I see made it to a computer before I did. I went grocery shopping on the way home, then my Coca-Cola exploded*, so I was distracted for a bit.)

Pete very generously presented me with a DVD set of Serial Experiments Lain, which I have had on VHS tape since it first came out, but have never watched. Thanks Pete!

Then we hit Kinokuniya, where we wandered over to the Japanese language section. Usually I don't go past the art books, because I can't read a word of Japanese, but since Pete can, over we wandered.

And it's a good thing for my wallet that I can't read Japanese, because they had all 40 volumes of 3x3 Eyes.**

I picked up a couple of things: the latest volume of Battle Club, from the creator of Ikki Tousen, and the Crest/Banner of the Stars manga Pete mentions.

Which look like this:

crest-small.jpg

banner-small.jpg

Is that not how Lafiel normally looks, then? wink

* It was supercooled - I guess my fridge is turned down a bit too low - so when I opened it about a quarter of it froze instantly and another quarter squirted out all over the kitchen.

** How do you pronounce that, anyway?

Posted by: Pixy Misa at 02:28 AM | Comments (7) | Add Comment | Trackbacks (Suck)
Post contains 226 words, total size 2 kb.

Geek

More Fast!

SoftLayer are running a sale this weekend, and it looks like I'll be picking up three Xeon 3060 servers, with a total of 10GB of memory and 2.5TB of disk.

That's a whole lot of fast. It's equivalent in terms of CPU, memory and disk alike to five more of the Opteron servers we have right now.

I'll be bringing forward the commissioning of Kasumi by two months, but the deal I'm getting works out equal to two months free over the first year, so effectively I get a development and beta-test box for two months at no extra charge.

Posted by: Pixy Misa at 01:43 AM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 104 words, total size 1 kb.

Saturday, January 20

Geek

Need More Fast!

I've been running some more benchmarks on Minx.

The page you see here takes around 40ms to produce.

The same page on my test server, on essentially the same version of Minx, takes around 60ms.

The same page on the new version of Minx takes around 95ms.

One interesting point there is that although Nabiki (the server) and Martina (my test box) deliver the same results in trivial Python benchmarks, the actual application runs significantly faster on Nabiki. Those same trivial benchmarks indicate that the Xeon 3060 servers I'm planning to deploy on will be 60% faster than Nabiki. I'm very curious now to see how that translates to the real application.

On a more depressing note, jumping from 23 fields per entry to 118 (I think those counts are correct) has a real and noticeable impact on performance. And I still have five tables to add to that join...

The performance hit doesn't seem to be on the MySQL side. At least, once something is in the query cache, it coughs up the data more or less instantly. Rather, it's the Python DB library handling all the fields. It takes time. On my test box, Python can retrieve from MySQL and stash into native data structures about 300,000 fields per second. That puts a hard limit on how fast Minx can run; the time taken to run the queries on New Minx on Martina is about 85% of the total time taken to generate the page on Old Minx on Nabiki. I'm going to keep on working to improve performance, but it looks like I'm fighting Amdahl's Law here.

My goal was to deliver complex pages in under 100ms and simple ones in 10; that's still achievable unless I really break something, but I'm going to have to borrow some of that performance from the new hardware.

Posted by: Pixy Misa at 11:26 AM | Comments (5) | Add Comment | Trackbacks (Suck)
Post contains 314 words, total size 2 kb.

Thursday, January 18

Blog

It's Alive!


Processing 0.02 seconds.
7 queries taking 0.0122 seconds, 29 records returned.
Page size 22 kb.
Powered by Minx 0.80 alpha.
(Does happy dance.)

The production version of Minx is up and running.

As I was slogging through it, and through the enormous lists of fields that the new version provides, I was thinking this is not going to be fast.

Well, a page of 1000 posts comes up in 220 milliseconds (with Psyco; 300ms without). That doesn't have inline comments, because I've broken the comment handler, but I would hope you aren't using inline comments if you have 1000 posts per page...

That's not slow.

Update: Except it didn't actually include 1000 posts. Bleh. Bug hunt time.

Update: Ah, it's a not-a-bug. It's returning 255 posts. Hint hint. Okay, I'll just tweak that...

Processing 0.71, elapsed 0.8462 seconds.
7 queries taking 0.4891 seconds, 1004 records returned.
Page size 1452 kb.
Powered by Minx 0.81.18 alpha.
Hmm. Anyway...

Approximately 20ms for a normal page of 25 posts. You can see that this blog takes rather longer than that; that's the effect of the inline comments, which are dynamically sanitised in the old version. The new version does static sanitisation, which should eliminate much of that performance penalty. (Also, I'm not using Psyco on the server, because I ran into a memory leak when I tried it; that's since resolved.)

So I'm through restructuring the code and data.* Now the fun begins!

* Mostly. Still lots of tweaking to do, but the heavy lifting is done.

Posted by: Pixy Misa at 08:40 AM | Comments (4) | Add Comment | Trackbacks (Suck)
Post contains 255 words, total size 2 kb.

<< Page 1 of 3 >>
85kb generated in CPU 0.06, elapsed 0.0638 seconds.
58 queries taking 0.0222 seconds, 303 records returned.
Powered by Minx 1.1.6c-pink.