Swiftweasel Explained
Swiftweasel was a fork of Mozilla Firefox available for the Linux platform only.
Optimization
Swiftweasel is optimized using the following methods:
P.G.O.
As of the 3.0.3 release, Swiftweasel has shifted its primary optimization from processor specific to profile-guided optimization (PGO).[1] It is a two step building process. The application is compiled one time and then run to produce a profile. The profile is then used to guide a second compilation of the application.Some of the older optimizations are still used, but there are now only Intel and AMD versions of each build. It is released compiled in a tar.gz package. There are also separate installers for Ubuntu and Arch linux available through their communities.
Binary code optimization
- Swiftweasel is compiled with options that optimize for speed rather than binary size.
- Compiled with the
-O3
compile flag[2] (the highest level),
with the resulting Swiftweasel binary being larger than that of Firefox.
- Firefox is compiled with the
-Os
compile flag,[3] which is for binary size.[4]
- Binaries incorporate additional instruction sets:[5]
- Optimization specific to the build microprocessor architecture.[5]
- Compiled with newer versions of GCC (Firefox 2.0 uses 3.3.2, Swiftweasel 2.0 uses 4.0.3, and Swiftweasel 3.0.3 uses 4.2.3).[5]
Increased Security
- Better protection from Buffer overflow attacks[6] (Swiftweasel 2.0 uses -D_FORTIFY_SOURCE=2; Firefox 2.0 uses gcc 3.x, which does not support this).[5]
Simplify
Installed extensions
Swiftweasel has several extensions installed by default.[7]
- XForms
- AdBlock Plus
- User Agent Switcher[8]
- Quick Locale Switcher[9]
Swiftweasel-specific changes
Changes made to Swiftweasel include:
- The default icon set has been replaced with the Kempelton[10] icon set.
- Swiftweasel uses its own settings directory. The settings, including bookmarks, history, and extensions are imported from Mozilla Firefox the first time Swiftweasel runs.
- Plugins stored in /lib/mozilla/plugins and /lib/Firefox/plugins are detected and used by Swiftweasel.
Swiftdove
The Swiftweasel project also builds optimized 32 and 64bit builds of the Thunderbird email client known as Swiftdove.
Optimizations
As of the current version 2.0.0.21, Swiftdove is also PGO optimized.
Plugins
The 2.0.0.21 builds of Swiftdove include the 0.9 Lightning calendar plugin installed by default.
See also
External links
Notes and References
- Web site: PGO .
- Use the in-browser
about:buildconfig
URL to check the details of all builds
- Use the in-browser
about:buildconfig
URL to check the details of 2.0 builds
- Web site: Optimize Options - Using the GNU Compiler Collection (GCC) .
- Web site: About Swiftweasel . https://archive.today/20121225165642/http://swiftweasel.wiki.sourceforge.net/About+Swiftweasel . dead . 2012-12-25 .
- Web site: Limiting buffer overflows with ExecShield . Red Hat . dead . https://web.archive.org/web/20070208094418/http://www.redhat.com/magazine/009jul05/features/execshield/#checks . 2007-02-08 .
- Web site: Extensions Added . https://archive.today/20121225154050/http://swiftweasel.wiki.sourceforge.net/Whats+New+2.0.0.4 . dead . 2012-12-25 .
- http://chrispederick.com/work/user-agent-switcher/ User Agent Switcher
- http://www.captaincaveman.nl/default.aspx?id=firefox_extensions&subid=quick_locale_switcher Quick Locale Switcher
- http://arvidaxelsson.se/kempelton/ Kempelton