Swiftfox
Encyclopedia
Swiftfox is a web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

 based on Mozilla Firefox
Mozilla Firefox
Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...

. It is available for GNU/Linux platforms and distributed by Jason Halme. Swiftfox is a set of builds
Software build
In the field of computer software, the term software build refers either to the process of converting source code files into standalone software artifact that can be run on a computer, or the result of doing so...

 of Firefox optimized for different Intel and AMD microprocessor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...

s. Swiftfox is freely downloadable with open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 code and proprietary
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

 binaries. Firefox extensions
Extension (Mozilla)
]Add-ons are installable enhancements to the Mozilla Foundation's projects, and projects based on them. Add-ons allow the user to add or augment application features, use themes to their liking, and handle new types of content.-Extensions:...

 and plugins are compatible with Swiftfox, with notable exceptions. The name Swiftfox comes from the animal Swift Fox
Swift Fox
The swift fox is a small light orange-tan fox around the size of a domestic cat found in the western grasslands of North America, such as Colorado, New Mexico and Texas. It also lives in Manitoba, Saskatchewan and Alberta in Canada, where it was previously extirpated...

. Swiftfox differs from Firefox by a limited number of changes, and builds for different processors. As these differences are technical, for general information on the browser see Firefox
Mozilla Firefox
Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...

.

Optimization

The Swiftfox build is optimized using the following methods:

Binary code optimization
  • Compiled with the highest level of compiler optimization
    Compiler optimization
    Compiler optimization is the process of tuning the output of a compiler to minimize or maximize some attributes of an executable computer program. The most common requirement is to minimize the time taken to execute a program; a less common one is to minimize the amount of memory occupied...

    , rather than optimization for binary size.
    • Swiftfox is compiled -O3, (the highest level)
      • The resulting Swiftfox binary is larger than Firefox. (-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.)
    • Firefox is compiled -Os. (-Os is the same as -O2 but removes optimizations which would increase the binary size.)
  • Binaries
    Binary file
    A binary file is a computer file which may contain any type of data, encoded in binary form for computer storage and processing purposes; for example, computer document files containing formatted text...

     incorporate additional instruction set
    Instruction set
    An instruction set, or instruction set architecture , is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O...

    s.
    • Intel and AMD: MMX, SSE
      Streaming SIMD Extensions
      In computing, Streaming SIMD Extensions is a SIMD instruction set extension to the x86 architecture, designed by Intel and introduced in 1999 in their Pentium III series processors as a reply to AMD's 3DNow! . SSE contains 70 new instructions, most of which work on single precision floating point...

      , SSE2
      SSE2
      SSE2, Streaming SIMD Extensions 2, is one of the Intel SIMD processor supplementary instruction sets first introduced by Intel with the initial version of the Pentium 4 in 2001. It extends the earlier SSE instruction set, and is intended to fully supplant MMX. Intel extended SSE2 to create SSE3...

      , (not generally SSE3
      SSE3
      SSE3, Streaming SIMD Extensions 3, also known by its Intel code name Prescott New Instructions , is the third iteration of the SSE instruction set for the IA-32 architecture. Intel introduced SSE3 in early 2004 with the Prescott revision of their Pentium 4 CPU...

      ).
    • AMD only: 3DNow!
      3DNow!
      3DNow! is an extension to the x86 instruction set developed by Advanced Micro Devices . It adds single instruction multiple data instructions to the base x86 instruction set, enabling it to perform simple vector processing, which improves the performance of many graphic-intensive applications...

  • Optimization specific to the build microprocessor architecture.
    • Intel: Pentium 4
      Pentium 4
      Pentium 4 was a line of single-core desktop and laptop central processing units , introduced by Intel on November 20, 2000 and shipped through August 8, 2008. They had a 7th-generation x86 microarchitecture, called NetBurst, which was the company's first all-new design since the introduction of the...

      , Pentium 3
      Pentium III
      The Pentium III brand refers to Intel's 32-bit x86 desktop and mobile microprocessors based on the sixth-generation P6 microarchitecture introduced on February 26, 1999. The brand's initial processors were very similar to the earlier Pentium II-branded microprocessors...

      , Pentium M
      Pentium M
      The Pentium M brand refers to a family of mobile single-core x86 microprocessors introduced in March 2003 , and forming a part of the Intel Carmel notebook platform under the then new Centrino brand...

      , Pentium III
      Pentium III
      The Pentium III brand refers to Intel's 32-bit x86 desktop and mobile microprocessors based on the sixth-generation P6 microarchitecture introduced on February 26, 1999. The brand's initial processors were very similar to the earlier Pentium II-branded microprocessors...

      , Pentium II
      Pentium II
      The Pentium II brand refers to Intel's sixth-generation microarchitecture and x86-compatible microprocessors introduced on May 7, 1997. Containing 7.5 million transistors, the Pentium II featured an improved version of the first P6-generation core of the Pentium Pro, which contained 5.5 million...

      , Pentium 4 (Prescott).
    • AMD64: Athlon64 (32bit binary).
    • AMD: Athlon XP, Athlon
      Athlon
      Athlon is the brand name applied to a series of x86-compatible microprocessors designed and manufactured by Advanced Micro Devices . The original Athlon was the first seventh-generation x86 processor and, in a first, retained the initial performance lead it had over Intel's competing processors...

      , K6-2.
  • Compiled with newer version of GCC
    GNU Compiler Collection
    The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...

     (Firefox 2.0 uses 3.3.2, Swiftfox 2.0 uses 4.0.4).

Increased Security
  • Better protection from Buffer overflow
    Buffer overflow
    In computer security and programming, a buffer overflow, or buffer overrun, is an anomaly where a program, while writing data to a buffer, overruns the buffer's boundary and overwrites adjacent memory. This is a special case of violation of memory safety....

     attacks (Swiftfox 2.0 uses -D_FORTIFY_SOURCE=2; Firefox 2.0 uses gcc 3.x, which does not support this).

Simplify
  • Pango
    Pango
    Pango is an LGPL licensed open source computing library used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text...

     is not included in the build . This means that Unicode fonts
    Unicode typefaces
    A Unicode font is a computer font that contains a wide range of characters, letters, digits, glyphs, symbols, ideograms, logograms, etc., which are collectively mapped into the standard Universal Character Set, derived from many different languages and scripts from around the world...

     remain supported (see Unicode and HTML
    Unicode and HTML
    Web pages authored using hypertext markup language may contain multilingual text represented with the Unicode universal character set....

    ), but without certain extra features provided by Pango
    Pango
    Pango is an LGPL licensed open source computing library used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text...

    . This simplification reduces the binary size, and reduces rendering.

Changed default preference values
  • IPv6
    IPv6
    Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...

     DNS
    Domain name system
    The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...

     lookups are disabled. preventing slowdowns experienced
  • HTTP pipelining
    HTTP pipelining
    HTTP pipelining is a technique in which multiple HTTP requests are sent on a single HTTP connection without waiting for the corresponding responses....

     is enabled by default. Note that Fasterfox
    Fasterfox
    Fasterfox is a Mozilla Firefox extension that provides an interface to tweak some performance related settings such as browser network connection, cache, timings, as well as provide an optional controversial feature which forces Link prefetching. These changes can decrease page loading time...

     provides a GUI
    Gui
    Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

     to adjust these settings.
  • For full details, see http://getswiftfox.com/source/swiftfox-1.8branch.patch.

Firefox speed

Firefox has been criticised for slow startup compared with other browsers, a criticism confirmed by pre-Firefox 2.0 speed tests. A speed comparison of various GNU/Linux (and other) browsers has been done.

Swiftfox speed

No definitive benchmarking has been reported, but a quicker startup time and a 1.7% webpage rendering speedup has been reported on version 1.5.0.6. There are no benchmarks for the different processors builds.

Additional options

Swiftfox is bundled with the following freely available Firefox plugins and extensions:
  • XForms
    XForms
    XForms is an XML format for the specification of a data processing model for XML data and user interface for the XML data, such as web forms...

     extension is installed and enabled
  • libunixprintplugin.so plugin is installed

Downloads available

  • The latest released version of Firefox 2.0 - separate builds are available for each processor type covering Intel and AMD processors:
    • packaged as a tar
      Tar (file format)
      In computing, tar is both a file format and the name of a program used to handle such files...

       file
    • packaged for Debian
      Debian
      Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...

       installs
  • Recent snapshots of development versions of Firefox 2.0 and 3.0 (trunk) - separate builds for AMD Athlon XP processors and Intel Pentium 4
    Pentium 4
    Pentium 4 was a line of single-core desktop and laptop central processing units , introduced by Intel on November 20, 2000 and shipped through August 8, 2008. They had a 7th-generation x86 microarchitecture, called NetBurst, which was the company's first all-new design since the introduction of the...

     (and compatible).

License

The same as Firefox, the Swiftfox source code is open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

, with the source code under MPL 1.1
Mozilla Public License
The Mozilla Public License is a free and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation...

 except for parts relating to branding.
Unlike Firefox, the Swiftfox binaries have a proprietary license which does not allow redistribution. According to the author, this is to prevent the possibility of any confusion with tainted versions (see the Firefox branding argument Mozilla Firefox#Trademark and logo issues). The name Swiftfox is trademarked by Jason Halme, and accordingly cannot be used on other third party Firefox builds without his permission.

Debian

Swiftfox binaries are available as Debian packages
Deb (file format)
deb is the extension of the Debian software package format and the most often used name for such binary packages. Like the "Deb" part of the term Debian, it originates from the name of Debra, erstwhile girlfriend and now ex-wife of Debian's founder Ian Murdock.Debian packages are also used in...

 from official site. Note that the proprietary binary license prevents Debian and other GNU/Linux distributions from having Swiftfox available as part of a distribution. To redestribute Swiftfox they would have to change the name and the icons, just like Debian did it with Firefox (Iceweasel).

Alternatives

  • Firefox source code and Swiftfox changes are freely available for download, allowing anyone to create their own build.
  • Swiftweasel
    Swiftweasel
    Swiftweasel is a build of Mozilla Firefox source code, which uses non-trademarked graphics and logos. It is optimized for several architectures, and is available for the Linux platform only....

     is an optimized build of the Mozilla Firefox code that is licensed under the MPL 1.1
    Mozilla Public License
    The Mozilla Public License is a free and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation...

    .

See also

  • Fasterfox
    Fasterfox
    Fasterfox is a Mozilla Firefox extension that provides an interface to tweak some performance related settings such as browser network connection, cache, timings, as well as provide an optional controversial feature which forces Link prefetching. These changes can decrease page loading time...

     - An extension for Firefox
  • Mozilla Firefox
    Mozilla Firefox
    Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...

  • Swiftweasel
    Swiftweasel
    Swiftweasel is a build of Mozilla Firefox source code, which uses non-trademarked graphics and logos. It is optimized for several architectures, and is available for the Linux platform only....

    - A 100% free optimized build of the Mozilla Firefox code.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK