Emacs Screensaving Redux

Yesterday, I tweaked my toy Emacs screensaver to display images, and discovered that that was very slow indeed.

Today I started actually benchmarking this stuff instead of just guessing what was taking all that time, and surprise, surprise, the problem wasn’t where I thought it was at all.

Instead it was in the xelb library, where it would do a pessimal conversion of strings into bytes. With a three-line patch, it now takes 0.06s to convert one of these xcb:PutImage objects into a byte array, where it previously would take 0.8s.


Now it almost looks like it’s doing the images that way on purpose and not because that’s how fast it can go!

I really like the xelb library: It’s very clearly structured and is written in a very correct way. But I’m guessing that nobody has tried using it for something as wacky as this before.

I’ve now sent a patch to the maintainer.

One thought on “Emacs Screensaving Redux”

  1. That pessimal conversion — Was it on the road to Damascus? What planet are you from, Lars?

Leave a Reply