Here is small post for you programmer guys that you may find interesting.
Sure, you know what JIT is and why it makes so many modern interpreted languages actually usable in terms of speed/performance. But you probably have not heard of the exact methods through which JIT is achieved, and much less of a new method called "trace trees."
Apparently Mozilla's JavaScript engine has a new feature called TraceMonkey which is based on this new JIT compilation method and "The net result is a massive speed increase both in the browser chrome and Web‐page content."[1]
Programmers may find reading about Trace Trees to be interesting. I did.
For more detailed information about how this works with Firefox 3.5, take a look here.
Showing posts with label optimizations. Show all posts
Showing posts with label optimizations. Show all posts
Sunday, May 3, 2009
Monday, April 20, 2009
Swiftfox (AMD/Intel optimized Firefox)
Overview
"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:
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.
"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.
Subscribe to:
Posts (Atom)