"Swiftfox is an optimized build of Mozilla Firefox. Swiftfox has builds for both AMD and Intel processors and is based on the most cutting edge Firefox source code available."
I learned about Swiftfox while investigating some slow performance I have been experiencing in my normal Firefox. When trying Swiftfox, even after only a few minutes, I noticed some improved "snappiness" in my browsing. That is to say, I noticed switching between tabs was faster, graphics and pages both loaded and refreshed more quickly, and Gmail was significantly faster and more responsive.
Optimizations
Here is some information from the Wikipedia page on Swiftfox. It is interesting to note that the compiled binaries were made using GCC version 4.0.x, while I know for a fact that later version of the 4.x GCC compiler have improved optimizations. Under different circumstances, I might assume this would result in lesser performance, but since the Swiftfox creator has a knowledge of assembly instructions for several architectures, I am willing to give him the benefit of the doubt for knowing what he is doing by using an older compiler.
The Swiftfox build is optimized using the following methods:
Binary code optimization
- Compiled with the highest level of compiler optimization, rather than optimization for binary size.
- Swiftfox is compiled -O3,[1][2] (the highest level)
- The resulting Swiftfox binary is larger than Firefox. (It should be noted that -O3 is not necessarily faster than -O2, or -Os. -O3 introduces two more options on top of -O2: -finline-functions and -frename-registers. The latter is good for CPUs with many registers but may actually be slower on other CPUs.[3])
- Firefox is compiled -Os[2]. (-Os is the same as -O2 but removes optimizations which would increase the binary size [3].)
- Swiftfox is compiled -O3,[1][2] (the highest level)
- Binaries incorporate additional instruction sets.[4]
- Optimization specific to the build microprocessor architecture.[4]
- Compiled with newer version of GCC (Firefox 2.0 uses 3.3.2, Swiftfox 2.0 uses 4.0.4).[2]
Increased Security
- Better protection from Buffer overflow attacks[6] (Swiftfox 2.0 uses -D_FORTIFY_SOURCE=2; Firefox 2.0 uses gcc 3.x, which does not support this).[2]
Simplify
- Pango is not included in the build[citation needed]. This means that Unicode fonts remain supported (see Unicode and HTML), but without certain extra features[7] provided by Pango. This simplification reduces the binary size, and reduces rendering.
Changed default preference values
- IPv6 DNS lookups are disabled.[8][4] preventing slowdowns experienced[9]
- HTTP pipelining is enabled by default.[8][4] Note that Fasterfox provides a GUI to adjust these settings.
- For full details, see [1].
Conclusion
It is a bit early for a conclusion yet. I'm going to keep trying to use it and see how it continues to performs. The next few days will give me a good idea of how fast it really works compared to regular Firefox.
For more information on Swiftfox, go to: http://getswiftfox.com/
Currently there is no PGP apt-package signing available for the Swiftfox repositories. If anyone learns of some, please let me know.
Update
Ironically, no sooner do I start investigating some benchmark tests for Swiftfox, than I discover an alternative to Swiftfox named SwiftWeasel. I am going to be investigating both of these browsers in time and I will bring you reports of what I discover.
No comments:
Post a Comment