
Waterfox – A fast browser - talles
https://www.waterfoxproject.org/
======
lobster_johnson
Before we give this the traditional Hacker News baptism by fire, keep in mind
that this is apparently just one guy's project, and he's very junior:

    
    
      Waterfox was started back in March 2011 by Alex Kontos,
      a then 16 year old student. He had a fascination for
      the web and wanted to help expand on the ideals of what
      Mozilla had for a free and open web.
    

Be constructive, not snarky.

~~~
tospgogww
Well, he's 20 now. And he's stuck with it for four years? That's pretty
impressive.

~~~
lobster_johnson
Still young; he's probably still a student. People react differently to
negative criticism, of course, but to some it can be devastating.

~~~
seangrant
Someone building a web browser for 4 years has definitely come across some
negative criticism by now. The best criticism we can offer him is that which
is constructive.

------
rockdoe
So this is basically older versions of Firefox compiled with the Intel C++
Compiler?

Given that most of Firefox is in JS so the actual code that you end up running
is the JIT output, I'd be very skeptical it's any faster.

They certainly don't provide any objective data that it is.

(And if it were, I'd assume Mozilla would just Intel C for the official
builds, too?)

~~~
gsnedders
> Given that most of Firefox is in JS so the actual code that you end up
> running is the JIT output, I'd be very skeptical it's any faster.

Most of Firefox is JS? Almost all of the lines of code are C++, as far as I'm
aware. Certainly the UI is drawn using XUL/XBL/web-stuff, but how often is web
performance bounded by _UI_ performance? It's bounded by the performance of
the rendering engine, and that _is_ C++.

> (And if it were, I'd assume Mozilla would just Intel C for the official
> builds, too?)

Seems unlikely, given the output of ICC is crippled for non-Intel x86 chips
(which de-facto means AMD nowadays).

~~~
rockdoe
>Almost all of the lines of code are C++

Significant parts of the functionality are written in JS.

>but how often is web performance bounded by UI performance?

It's often bounded by JS performance. JS performance depends on the JIT
_output_ , much less so the speed with which the JIT _itself_ runs.

The rendering engine may be a factor, but there HW acceleration also factors
in. It's far from being clear cut.

Media decoding already uses optimized assembler, nothing for the compiler to
do there.

I'd suppose most of the gain would be in layout?

>Seems unlikely, given the output of ICC is crippled for non-Intel x86 chips
(which de-facto means AMD nowadays).

You can patch that out. I'd hope this Waterfox is doing that...

Even so, Mozilla provides a stub installer that downloads the right binary
nowadays. It could check the chip vendor and get the appropriate binary.

~~~
gsnedders
> Significant parts of the functionality are written in JS.

Such as?

> It's often bounded by JS performance. JS performance depends on the JIT
> output, much less so the speed with which the JIT itself runs.

On what? Last I looked, even things like FB & Gmail are largely bound by
performance of C++ code. Sure, there's a few hot JS functions high-up in the
profiles (esp. in the large data structures they build up when initially
loading), but by and large time is spent in C++ code, not JS.

~~~
rockdoe
>Such as?

Looks for .js and .jsm in the source tree.

Bookmarks, Tab management, all UX, PDF viewer, Search, Prefs, Sync, parts of
SafeBrowsing, WebRTC, Update Handling, Login and Form manager, Devtools,
Reader Mode, and uh I think I've proven my point.

~~~
RussianCow
But none of those things will ever really bottleneck the browser except for
maybe the PDF viewer. The performance of bookmarks, tab management, search,
and basically all your other examples doesn't matter. The parts of the browser
that benefit from speed are written in C++.

Not that I'm convinced simply compiling with ICC will actually have a
noticeable impact on the day-to-day performance of the browser, but it might
speed up layout and other specific CPU-bound tasks. I'd love to see some
benchmarks, but I think it's silly to shrug it off by saying that it won't
matter because the browser UI is written in JavaScript.

~~~
nickpsecurity
Explains why it barely handles my hundreds of bookmarks, though. Maybe I need
to rewrite that part in native code haha.

~~~
fungos
It seems a joke but is also, sadly, a fact. Chrome bookmarks manager is
lightspeed if compared to Firefox, to not mention total lack of usability on
Firefox's part, so 1995.

~~~
agumonkey
Chrome bookmark manager stores a lot less though.

~~~
nickpsecurity
Is there a limit on it or something?

~~~
agumonkey
I meant meta data, Firefox has tags and more time information IIRC, thus does
more and thus is prone to be "slower".

~~~
nickpsecurity
Ahh. That makes sense.

------
blinkingled
I paused when I read Intel compiler - that thing is a steaming pile of crap,
or at least was for godawful number of releases for a long time and I don't
expect it to ever work in the real world with a non-trivial amount of C++ code
base. And then I read about a Mozilla header causing it to ICE!

Years ago, I was forced to make a company's product faster by "simply"
recompiling it with ICC. It was losing in the benchmarks department and they
were told by customer to go away until they could compete. Addicted to easy
money they blamed the compiler (VC on Windows, gcc on Linux - how conveniently
both were bad at optimizing.) I had a hell of a time getting the compiler to
be consistent - it would, for example, ICE on code after re-ordering headers!
Their support was atrocious too - but that wasn't entirely their fault, at
that level of messiness only a complete rewrite of the compilers by non-PhDs
might have saved it.

~~~
eps
I had the exact opposite experience with Intel's "steaming pile of crap" as
you put it. We had a computationally intensive app that was sped up by 25%
compared to the version produced by MS compiler. This was few years ago
though.

~~~
blinkingled
Yep, I could totally see it speeding up computationally intensive code - but
try downloading it and using it to compile entire code bases with medium to
high level of complexity - like ACE/TAO or Qt or any other OSS project. It
might compile at low optimization settings but then it's not faster and the
moment you try to use optimizations it makes your life hell.

~~~
tosseraccount
Getting a recent qt to make clean with any compiler is a pain.

~~~
slavik81
What's sort of problems did you have? I haven't tried since 5.3, but it worked
fine just following the directions on the wiki:

[https://wiki.qt.io/Building_Qt_5_from_Git](https://wiki.qt.io/Building_Qt_5_from_Git)

------
sjs382
Speed is your selling point, but I don't see any benchmarks!

~~~
MrAlex94
I used to have them on the website but I just felt like if they were on there
people would think they were biased. A user had some benchmarks a few versions
back:
[https://www.reddit.com/r/waterfox/comments/2xle7k/browser_be...](https://www.reddit.com/r/waterfox/comments/2xle7k/browser_benchmark_of_google_chrome_canary/)

~~~
yoklov
You're much better off putting them up, even if people might think they're
biased.

Without any benchmarks, it just seems like you want this to be faster, without
providing any evidence that it is.

------
jvoorhis
> "Finally found an alternative to @firefox that supports Adobe Flash without
> all the errors - @Waterfoxproject works just wonderfully :)"

...no thanks, unless they want to share details of their sandboxing tech.

~~~
cpeterso
I wonder what "all the errors" are that affect Flash on Firefox. Being derived
from Firefox, why would Waterfox have better support for Flash?

~~~
broodbucket
I think it's just referring to having to manually enable Flash since Firefox
will warn you that it's insecure.

------
eliteraspberrie
Even if I don't use Waterfox, I'm glad it exists. Browsers are very close to
including DRM content and advertisements. When that happens I don't want to be
stuck without an alternative. Thank you (if the developer is reading) for the
effort and I hope you continue with this.

------
jryan49
"What makes Waterfox so fast? It's built with Intel's C++ compiler. One of the
most powerful compilers out there. This enables us to make the fastest
possible web browser for all the code changes we make."

This is a huge claim to make with no evidence to back it up.

It's also a shallow comment. For one program, a compiler could compile faster
code than another. Pick another another program and you may get the reverse
result.

Plus I imagine the code is going to trail behind Firefox a bit. Is that worth
probably a few milliseconds here and there?

I like your website though.

------
autonomy77
I'm always interested by alternative 'Foxes, but I'm intrigued as to why the
installer is about 25MB bigger than Firefox. What's in there that makes it a
50% bigger installer?

~~~
MrAlex94
ICL creates huge libraries, especially with all the flags I use (-O3 -no-prec-
div -Qparallel -arch:SSE3 -QaxCORE-AVX2,CORE-AVX-I,AVX,SSE4.2,SSE4.1,SSSE3).
XUL generated like this is about 150MB (and for comparison offical Firefox XUL
DLL is about 37MB)!

~~~
seabrookmx
I'm pretty sure this is because internally, it has multiple copies of the
assembly supporting different instruction sets. So it will have a lib with <
SSE3, and then another copy of the same code with the SSE4.x optimizations
applied. That way you get the speed benefit of SSE4.x on machines that have
it, but it can still fallback to SSE3-only if it doesn't have that ISA.

The Microsoft compiler works similarly. This is why "Release mode" builds with
optimization on produce bigger binaries than "Debug mode" builds.

------
jccalhoun
I used to use this a year or two ago but quit because it was always lagging
behind the official releases. In many cases it wasn't his fault - I remember a
few times he had found bugs in the intel compiler that prevented him from
releasing new builds - but the reason for the wait doesn't really matter when
the advantages are so negligible as they are in this case.

------
tombert
Is the Intel Compiler even appreciably faster these days? I thought CLang and
GCC had basically caught up...

~~~
DannyBee
Assuming you compare apples to apples (IE put them both in the same precision
modes, tell them both to actually follow the standard[1], etc), it's not
appreciably faster for anything except really specialized kernels.

[1] A lot of compilers take "liberties" with the standard by default in the
name of performance.

See for example, IBM's qstrict and qstrict_induction.

The default at O2 and above is Qstrict and Qnostrict_induction (IE "change the
semantics of my program").

So if you really want to compare performance numbers between compilers, you
have to normalize them to something first, be it "go crazy and do what you
want to my program" or "follow the standard"

People who compare compiler benchmarks rarely actually do this.

Note that the use cases of the compilers are very different, so it's probably
reasonable for IBM/Intel/etc to have these as defaults and GCC/LLVM to have
different defaults, but it doesn't change what you would want to compare if
you want to compare generated code performance.

~~~
teddyh
It took me a while to understand that when you wrote “IE”, you did not mean
“Internet Explorer”, but “i.e.” (an abbreviation of the latin phrase “id est”,
meaning “that is”).

------
nkozyra
I'm assuming the largely useless animation on the homepage is meant to make
Chrome or Firefox start eating CPU and increase the perceived need for a new
browser? I opened the tab, walked away for two minutes and came back to a hot
and angry Chrome on my MBP.

~~~
anon1mous
The actual reason is you're an _Apple_ hipster. On a proper desktop PC, Chrome
doesn't get hot and hungry. Ever.

~~~
borkabrak
My PC must not be "proper".

Aw, snap.

------
Albright
I saw the screenshot and was hoping for crapware-free Firefox, but upon
downloading it, the damned Hello icon was there in the toolbar. Presumably
later versions will add Pocket too, once they start working off a later
upstream Firefox version.

Meh.

~~~
sirn
Have you looked at Pale Moon[1]? They're known to be stripping out a lot of
components from core browser (no Australis or even Tab Group, though the
latter is available as an addon). Biggest weak point is the lack of non-
Windows build, but non-official versions are usually available in the forum.

[1]: [https://www.palemoon.org/](https://www.palemoon.org/)

~~~
rockdoe
They don't have Australis because they're based on an older Firefox ESR.

Stripping out features that are lazily-loaded JS files and in return being
stuck with outdated stuff feels like a very weird tradeoff to me.

~~~
marssaxman
What does "ESR" mean?

~~~
rockdoe
[https://www.mozilla.org/en-
US/firefox/organizations/](https://www.mozilla.org/en-
US/firefox/organizations/)

Extended Support Release

They're released on a much slower schedule (once a year) and get security
fixes backported. They're intended for big organizations that don't want
6-weekly updates and are willing to live with outdated software.

But obviously its also handy if you want to fork and can't deal with re-basing
every 6 weeks. Especially if you don't intend to update your fork a lot. You
still get the free security fixes.

~~~
marssaxman
Ah, same as "LTS" then. Thanks.

------
haswell
> _" 4,000,000 downloads and counting"_

This gave me flashbacks to early Firefox download campaigns, and the
excitement that surrounded each milestone download count. Seems like such a
distant memory now.

------
webaholic
I didn't find any info on where they compare performance with firefox. Any
links?

------
desireco42
I installed it and it is first firefox on my machine in a long time. It seems
fast ... I tried hogs like theverge and they seem to be a tiny bit faster then
on chrome, my goto browser.

Thank you Alex, keep up the good work!

------
mrmondo
Looks interesting however the first thing I did after launching it was opening
preferences which caused an immediate crash with no error / debugging message
or anything.

------
davidaa
I haven't seen speed benchmarks or anything like that, but out of the six
browsers on my computer (Chrome, Vivaldi, Waterfox, Firefox, Tor, IE) I'd be
using Waterfox if I wasn't so Google-dependent. It's fast, with a good UI, and
somewhat less clunky than Firefox. Plus it's less likely than Chrome to be
spying on me.

~~~
Nexxxeh
I switched to Opera to escape some of Google's tentacles, and that was a
smooth transition. If you want a compromise, it's worth a shot.

I then went the whole hog to Firefox.

uBlock Origin, Self Destructing Cookies, and a VPN (PrivateInternetAccess) and
I figure I'm getting as good as I can.

The lack of Flash is a non-issue nowadays for me, especially now the BBC are
trialing HTML5.

(Although I generally use get_iplayer anyway.)

My primary issue with Firefox is it seems to be really poorly optimised for
multicore CPUs. That's entirely anecdotal, but Opera runs just fine on a low
clockspeed quadcore system whereas FF is unusable for me.

On my main machine, I get one core with moderate to high usage, and next to
nothing on the other cores. Even if it's maxing out one core and lagging.

------
Zuider
I have tried Waterfox and Palemoon, but ended up settling on Cyberfox. There
are optimized 32 and 64 bit builds for both Intel and AMD CPUs which match the
latest version of standard Firefox.

[https://cyberfox.8pecxstudios.com/](https://cyberfox.8pecxstudios.com/)

~~~
skrowl
The latest official version of Firefox have windows x64 builds on the beta and
dev / aurora channels (and have for well over a year now):
[https://www.mozilla.org/en-US/firefox/beta/all/](https://www.mozilla.org/en-
US/firefox/beta/all/)

~~~
CUViper
There's a project page to make a stable win64 release:
[https://wiki.mozilla.org/Firefox/win64](https://wiki.mozilla.org/Firefox/win64)

The goal says before the end of 2015... tick tock

------
kleiba
"Download for PC"

Hey, I have a PC! It runs Linux. Care to change the above to "Download for
Windows"?

------
sireat
How does Waterfox compare to something lean and mean such as: K-Meleon ?
[https://en.wikipedia.org/wiki/K-Meleon](https://en.wikipedia.org/wiki/K-Meleon)

K-Meleon has been around for a while and does subjectively feel much faster
than Firefox and Chrome and passes most tests(Acid etc) out of all the
alternative browsers.

Unfortunately, I've grown too used to some Chrome and Mozilla plugins so I
haven't switched full time.

------
euske
I almost thought it's their brand new browser with the Rust/Servo engine.
Please make it happen, Mozilla.

------
Osiris
My favorite alternate browser right now is Vivaldi [1]. It's made more for
power users with a lot of customization options. It's built by Opera's former
CEO.

[1] [https://vivaldi.com](https://vivaldi.com)

~~~
drvortex
? Where did you see more customizable options in Vivaldi. Their technical
preview is just basically a Chrome reskin and a very clunky reskin, for that
matter.

~~~
tym0
Well they're still doing a better job at it than Opera is and functionality
wise it seems fairly close to old Opera releases(Vertical Tab, Sidebar...).

------
restalis
I remember Waterfox a few years ago. It made sense to me as I saw it to be an
unofficial 64 bit version when Mozilla was offering 32 bit Firefox only.
Things changed in the meantime and the current Waterfox offering is not that
compelling anymore.

------
ricardobeat
What's fast about it? I see a larger download, slower to start, choppy
animations, and worse performance on JS benchmarks than Firefox latest.

~~~
MrAlex94
I do apologise about that, now that I'm two revisions behind performance isn't
going to keep up with the latest versions of Firefox. Hopefully Intel will
release an update to ICL soon so I can catch up :-)

------
ntw1103
I prefer [http://palemoon.org](http://palemoon.org) They offer a 64bit
version.

~~~
rockdoe
PaleMoon is even more outdated, it's an old Firefox ESR.

~~~
chei0aiV
Rumor: "Pale Moon is just a rebranded rebuild of an old Firefox version"

FALSE

Pale Moon has been on a divergent path with its own code for a long time
already. It was a rebuild in 2009, yes. It was a rebuild with minor changes in
the Firefox 4.0 era, yes. But we've come a very long way since then with an
increasing amount of different code being carried over each time it was re-
based on later Firefox code. It's a true fork now and has been employing rapid
development (as opposed to rapid release) to solidify this independent
direction with its own focus and attempt at keeping the browser sane, lean,
and offering users choice and stability.

At the same time, Pale Moon's focus on security and evolving networking
standards has added features and kept pace with those developments in other
browsers, by e.g. adding TLS 1.1/1.2 support a while back, by offering OCSP-
stapling, by keeping a close eye on encryption and the browser's security by
continuing to port or re-implement security fixes that apply to Pale Moon as a
browser. It is neither old nor outdated, it is not a "rebuild" and it does not
use obsolete technologies or have security holes.

[https://forum.palemoon.org/viewtopic.php?f=4&t=7818&p=50895](https://forum.palemoon.org/viewtopic.php?f=4&t=7818&p=50895)

~~~
rockdoe
You should do your own research rather than believing their nonsense claims.
Start by diffing their code against various Firefox releases.

------
BorisMelnik
Genuine question - why is the final file size almost 1/3+ that of Firefox?

------
nickysielicki
literally a branded makefile

------
jsizz
"What makes Waterfox so fast? It's built with Intel's C++ compiler. One of the
most powerful compilers out there. This enables us to make the fastest
possible web browser for all the code changes we make. This potent combination
makes for an unparalleled browsing experience."

Mm-Hm. How's that working out?

[https://www.waterfoxproject.org/blog/](https://www.waterfoxproject.org/blog/)
"Just a quick heads up why there hasn’t been any news from me in regards to
the latest Firefox release. Mozilla have a new tuple header that they’ve
created and gets used fairly frequently and unfortunately, this causes an
internal compiler error as can be seen here." [Written by Alex Kontos November
9th, 2015]

Always a pleasure to count the number of clicks needed before you can
establish that the only platforms are Mac and Windows.

~~~
kbenson
> Mm-Hm. How's that working out?

Why so critical? He's making a bold claim, but you're not even responding to
that. You're just attacking him because he's using a different compiler suite?
If you know of problems with the Intel compiler suite, how about you let us
know what they are instead of passively aggressively pointing to a single
recent problem which from the bug report I'm not sure is the fault of Intel's
compiler not being conformant or not functioning with a recent feature, or GCC
accepting a non-conformant structure, and whether being cross-compiler
portable in that way is even a goal of the Firefox team.

> Always a pleasure to count the number of clicks needed before you can
> establish that the only platforms are Mac and Windows.

Would you like to guess how many clicks it takes to determine that for Firefox
itself when you aren't currently running Linux? It used to be you could easily
get to a directory listing of Firefox builds. Apparently it's harder to find
now, and Firefox just starts an auto-download for your OS and architecture
based on your user agent, and if you search for how to install on Linux, they
make it clear that may not be the best way to install ("Use the method that
works best for your distro", which may be through the distro package manager).

------
free2rhyme214
I found this browser to be faster than Chrome and Safari.

------
chenster
Already at version 40?? I thought it's new?

