Super Volatile

Krzysztof Szafranek's link blog

Hi, I'm Krzysztof and I make websites.
When I'm not making websites, I read these.
Nov 6 / 1:42pm

SpiderMonkey is on a diet

I mentioned that many Shapes are in property trees. These are N-ary trees, but most Shapes in them have zero or one child; only a small fraction have more than that, but the maximum N can be hundreds or even thousands. So there’s a long-standing space optimization where each shape contains (via a union) a single Shape pointer which is used if it has zero or one child. But if the number of children increases to 2 or more, this is changed into a pointer to a hash table, which contains pointers to the N children. Until recently, if a Shape had a child deleted and that reduced the number of children from 2 to 1, it wouldn’t be converted from the hash form back to the single-pointer. I changed this last Friday. I also reduced the minimum size of these hash tables from 16 to 4, which saves a lot of space because most of them only have 2 or 3 entries. These two changes together reduced the size of the “shapes-extra/tree-shape-kids” entry in about:memory by roughly 30–50%.

What Mozilla is doing to reduce Firefox's memory footprint.

Filed under: firefox   programming  
Jul 21 / 12:27am

goals for multi-process firefox

In the case of Electrolysis we’re not talking about the kind of performance that’s usually referenced in the press or is the subject of benchmarks. What we’re really talking about with multi-process performance is responsiveness:

  • How long does it take for a mouse click to be recognized?
  • When you resize the window does it feel smooth?
  • Does the browser mysteriously pause from time to time?
  • Are animations smooth, without pauses?

Technical background and explanation of the planned move towards multi-process Firefox.

Filed under: firefox  
Apr 8 / 12:45am

Slow Performing Add-ons

Add-ons provide many useful features and functions, but they can also cause Firefox to become slower. Some add-ons can even slow Firefox to a crawl and make it difficult to use for regular web browsing. If you think add-ons might be the reason Firefox is lethargic, check the list below for some of the biggest bottlenecks. And remember, for best performance you should disable add-ons that you no longer use regularly.

So, Firebug is THAT bad.

Filed under: firefox  
Jun 5 / 11:15pm

Christopher Blizzard · intellectual honesty and html5

From a marketing perspective, it’s beautiful – non-specific, feels good, it means that Apple loves the web, and loves you.

But how do they prove it?

That’s right. If you’re not on Safari, then Fuck You.

On latest HTML5 demos from Apple spawned an outrage among web standardistas. I'm sure that it wasn't deliberately planned evil attack on other browsers as the article suggest, though finger pointing in this situation is good and I hope the demos will be updated.

Filed under: apple   firefox   webstandards  
Mar 23 / 1:25am

Daring Fireball: GIF, H.264, and Patents

This uncertain patent landscape is reportedly one reason Apple doesn’t support Ogg Theora. If some patent troll decides H.264 violates a patent, they must go to court with MPEG LA, not individual licensees. If a patent troll decides Ogg Theora violates a patent, they might sue those who are using it.

An interesting view on the video codecs discussion. Maybe in fact MPEG LA group can be trusted to not demand patent fees as soon as H.264 will become ubiquitous? Anyway, Ogg Theora is not so safe as it seems to be.

Filed under: firefox   standards  
Jan 30 / 12:01pm

H.264 Licensing And Free Software

In other words, if you're an end user in a country where software patents (or method patents) are enforceable, and you're using software that encodes or decodes H.264 and the vendor is not on the list of licensees, the MPEG-LA reserves the right to sue you, the end user, as well as the software vendor or distributor.

Most likely in the short term it end with videos being served with <video> tag, using H.264 in Apple world, and with Flash elsewhere. So much for interoperability.

Filed under: firefox   standards  
Jan 23 / 5:06pm

Video, Freedom And Mozilla

So why doesn't Mozilla just license H.264 (like everybody else)? One big reason is that that would violate principles of free software that we strongly believe in. In particular, we believe that downstream recipients of our code should be able to modify and redistribute it without losing any functionality. This is freedom that copyleft licenses such as the GPL and LGPL (which we use for our code) are intended to ensure. It is possible to obtain patent licenses in a way which works around the letter of the GPLv2 and LGPLv2, but honoring the letter while violating the spirit is not a game we are interested in playing.

An explanation why new HTML5-based YouTube and Vimeo don't work in Firefox.

Filed under: firefox   html5   open source   standards