Windows Chrome 64-bit - Faster, Better More Stable
Written by Alex Armstrong
Friday, 06 June 2014
Is 64 bits better than 32 bits? The answer isn't as obvious as you might think but now we have Chrome 64 and it suggests that 64 is best.
The advantage of a 64-bit program over a 32-bit program isn't that it runs twice as fast. This might be approximately true if all of the operations worked on 64-bit data, but this often isn't the case. Then there is the memory overhead to take into account. As a result, many programmers have a take it or leave it attitude to creating a 64-bit version of an existing app.
This is well illustrated by the way the standard browsers have migrated to 64-bit. Apple's Safari has been 64-bit on OS-X since 2009 and on IPhone 5s iOS7. Apple claims a 50% speedup on rendering tasks.
Microsoft, on the other hand, supports both 32-bit and 64-bit IE in Windows 7, but it uses the 32-bit browser by default. The reason is because of the need to support 32-bit addins. Microsoft reports no significant speed advantage for 64-bit IE, but does claim it is more secure because of security features of the 64-bit hardware.
Google and Mozilla have been much slower in adopting 64-bit versions of Chrome and Firefox for Windows. Both have had Linux 64-bit versions for some time, but Windows seems to be a more difficult problem. The standard Firefox is a 32-bit app. There was, and is, a 64-bit version in the nightly (i.e. not even beta) channel. Mozilla thought so little of it it was going to shut it down, but was stopped by complaints. Currently it still exists but Mozilla does nothing to advertise it and doesn't really support it.
Now Google has released its 64-bit Windows version to the Canary and Dev channels, which suggests that it will make it to the stable channel some time in the near future. It only works under Windows 7 and 8 and, of course, only on 64-bit machines.
Google makes the point that the 64-bit version is more secure due to it being able to use memory techiques such as Address Space Layout Randomization. It also claims that by using the full instruction set and register passing calling conventions it runs an average of 25% faster. So not as good as Apple's claimed 50% faster but perhaps the average hides the better rendering performance.
What is really surprising is that Google claims that the 64-bit version is more stable:
"Finally, we’ve observed a marked increase in stability for 64-bit Chrome over 32-bit Chrome. In particular, crash rates for the the renderer process (i.e. web content process) are almost half that of 32-bit Chrome."
The reason for this is much more difficult to see. It can't be because the code has fewer bugs, because if this was the case surely the fixed bugs would be applied to the 32-bit version. The only reasonable explanation is that it is something to do with increased resources - i.e. more memory is available. It could also be something to do with the code generated by the compiler. If you have any thoughts please comment.
The idea that 64-bit computing is more stable is an interesting one.
With Android clearly the dominant app market there's obvious interest in learning about it, both on the part of beginners and those who already program in one of more languages. Joining a MOOC seems a [ ... ]