# Is there an operating system faster than FreeBSD for the Maze Solver benchmark?



## Voltaire (Sep 7, 2022)

I think I did the 'Maze Resolver' test correctly. This is my result with a 10 year old dual-core CPU:


Phoronix results with the 3970X (more recent 32 core CPU): https://www.phoronix.com/review/chrome-80-benchmarks/4
Phoronix results with the 5950X (new 16 core CPU): https://www.phoronix.com/news/Firefox-95-Chrome-97

An i3 3240 dual core CPU beats expensive and much newer 16 and 32 core CPUs here.

Of the native FreeBSD browsers, Chromium is the fastest in Speedometer 2.0 but Brave via the Linux emulation is oddly *28% faster* in Speedometer 2.0. Also in many other benchmarks I see that Brave is faster than Chromium on FreeBSD.

Overall, I can say that despite the old and cheap hardware, the system with the XFCE desktop is extremely snappy and has a similar day-to-day productivity in the most common situations as the latest MacBook Pro notebooks.

This benchmark has raised the following question: _Is there an operating system faster than FreeBSD for the Maze Solver benchmark?_


----------



## icodeforyou (Sep 7, 2022)

frankly I am not sure how meaningful these benchmark results are... and also you are running brave basically in a n Ubuntu linux jail if I am not mistaken. So there is translation layer. I have no idea why it should be faster than on bare metal linux.


----------



## Voltaire (Sep 7, 2022)

icodeforyou said:


> frankly I am not sure how meaningful these benchmark results are...


I suspect it is one of the most important factors for browsing performance.









						Myth Busting: CSS Animations vs. JavaScript | CSS-Tricks
					

The following is a guest post by Jack Doyle, author of the GreenSock Animation Platform (GSAP). Jack does a lot of work with animations in the browser and has




					css-tricks.com
				



_Once upon a time, most developers used jQuery to animate things in the browser. Fade this, expand that; simple stuff. As interactive projects got more aggressive and mobile devices burst onto the scene, performance became increasingly important. Flash faded away and talented animators pressed HTML5 to do things it had never done before. They needed better tools for complex sequencing and top-notch performance. jQuery simply wasn’t designed for that. Browsers matured and started offering solutions.
*The most widely-acclaimed solution was CSS Animations (and Transitions)*. The darling of the industry for years now, CSS Animations have been talked about endlessly at conferences where phrases like “hardware accelerated” and “mobile-friendly” tickle the ears of the audience. *JavaScript-based animation was treated as if it was antiquated and “dirty”*._

Every website uses CSS..



icodeforyou said:


> and also you are running brave basically in a n Ubuntu linux jail if I am not mistaken. So there is translation layer. I have no idea why it should be faster than on bare metal linux.


This is explained here:

In some cases, Linux emulation can be better than native Linux


			Martin Cracauer's FreeBSD Page
		


_The emulation layer is so thin that it doesn't have an inherited performance drop. The emulation layer just adds a few computations to every system call. A system call on a UNIX system is always a costly operation that requires several times the operations the biggest parts of the emulation layer take.

FreeBSD is faster in some areas than Linux, as said in maximum filesystem throughput, if your machine doesn't have enough RAM or if you have very much RAM. All these equally apply to FreeBSD and Linux programs, there is no different filesystem or memory subsystem in the emulator. If you don't believe this, it's time to get rid of that binary- hardcoded- hardware- addresses applications writer style from DOS and Mac times. UNIX binaries are forced to use the documented API and only only the documented API. That makes them easy to emulate and that prevents them from messing with anything that depends on one filesystem or memory structure. Linux probably has areas where it is faster as well, I don't say every application is faster on FreeBSD. But if your application need system resources that are faster on FreeBSD, there's nothing that prevents it from running faster.

Perhaps the biggest advantage of Linux emulation on FreeBSD compared to running on native Linux is that you can change the C libraries (and other libraries, of course) as you like without risking the operational integrity of your base system. The Linux emulation layer in FreeBSD has native Linux C libraries for Linux programs. These are completely separate from the C libraries the basic FreeBSD system uses. Hence, playing around with C libraries for you Linux programs can only affect Linux programs (which usually will not include any program required for operation or programs that may damage your system, since all your system management is native FreeBSD)._

FreeBSD: A Faster Platform For Linux Gaming Than Linux?





						FreeBSD: A Faster Platform For Linux Gaming Than Linux? - Phoronix
					






					www.phoronix.com
				




What is your Brave browser performance in Maze Solver, Speedometer 2.0 and JetStream 2?


----------



## shkhln (Sep 7, 2022)

Unless that benchmark leads to a bunch of syscalls being called on the hot path, I don't think the "emulation" part is relevant at all. (Same logic applies to the video games, for the most part.)


----------



## Voltaire (Sep 8, 2022)

shkhln said:


> Unless that benchmark leads to a bunch of syscalls being called on the hot path, I don't think the "emulation" part is relevant at all. (Same logic applies to the video games, for the most part.)


The problem I'm having with Chrome, Brave and Edge over Linux emulation has to do with the _ThreadPoolForeg_ process.

On Chrome and Edge, this process uses a lot of CPU, making these browsers unusably slow.

On Brave, the service uses _much_ less CPU and most of the time almost zero, making Brave usually very fast. Sometimes it happens that this process suddenly also requires a lot of CPU on Brave, causing Brave to hang. Closing the tab that causes this always solves the problem.


----------



## Voltaire (Sep 8, 2022)

I think I found the explanation. Chrome and Edge both have widevine enabled, you can't disable it. I notice when I enable it on Brave that ThreadPoolForeg is permanently CPU intensive, so this makes Chrome and Edge unusable at the moment. 

However, I don't know why ThreadPoolForeg in Brave sometimes also spikes in CPU.


----------



## Voltaire (Sep 13, 2022)

I've been comparing FreeBSD's JetStream 2.0 performance against windows11 and some Linux systems over the last few days, these were the results on the R5 PRO 3400G quad core @3.7GHz:
windows11 + Chrome: 117.022
windows11 + Edge: 126.426
Lubuntu or Fedora + Chrome on the first try: +- 104
Lubuntu or Fedora + Chrome on the second try: +- 132.89
Solus + Brave on the first try: 127.746
Solus + Brave on the second try: 140.095
GhostBSD + Brave on the first try: 132.638
GhostBSD + Brave on the second try: 149.107

I ran three more benchmarks to see if this was a coincidence, or if FreeBSD is generally the fastest system for browsing.
In Octane 2.0 I got around 47 000, unsurprisingly it performed well here as this is similar to JetStream 2. These were the results of the last two benchmarks:




To put this Kraken 1.1 result in context:








						AMD Ryzen 9 3950X review
					

The review today hardly will need an introduction, the monolith has arrived, the consumer, and not even HEDT, the sixteen-core processor in the Ryzen 3000 family, the Ryzen 9 3950X. It is fast, feist... Performance - Chrome Browser - Kraken - Jetstream




					www.guru3d.com
				











						Kraken Javascript Benchmark 1.1
					

https://krakenbenchmark.mozilla.org/  CPU: 8350k OS: Debian 10 Browser: Firefox  RESULTS (means and 95% confidence intervals)...




					forums.guru3d.com
				





			https://images.anandtech.com/graphs/graph12725/97962.png
		






To put this ARES-6 result in context:
Intel Core i9 9900K with ASUS PRIME Z390-A motherboard, 16GB RAM, Samsung 970 EVO 256GB NVMe SSD, and AMD Radeon RX Vega 56 graphics in the year 2019.





						The Fastest Linux Distributions For Web Browsing - Firefox + Chrome Benchmarks On Eight Distros - Phoronix
					






					www.phoronix.com


----------



## astyle (Sep 13, 2022)

Going back to opening post, the basic problem is that it looks like you're trying to benchmark a remote web page on your own machine... It wouldn't matter if you have an Athlon or a Threadripper at home. You're still asking a remote machine to run a program and tell you how long that took.  It's not your processor doing the heavy/dirty work. 

You'll pretty much have to download the Phoronix Test Suite (and it's a pretty big download!), and install/run it locally, without an Internet connection, in order to have numbers that are limited to your hardware/OS.


----------



## covacat (Sep 13, 2022)

that's more about the js compiler ability and CPU single thread performance than about the OS
my iphone 8 scores 20.58 in ares-6 (my 2012 imac scores 24)


----------



## Voltaire (Sep 13, 2022)

astyle said:


> Going back to opening post, the basic problem is that it looks like you're trying to benchmark a remote web page on your own machine... It wouldn't matter if you have an Athlon or a Threadripper at home. You're still asking a remote machine to run a program and tell you how long that took.  It's not your processor doing the heavy/dirty work.
> 
> You'll pretty much have to download the Phoronix Test Suite (and it's a pretty big download!), and install/run it locally, without an Internet connection, in order to have numbers that are limited to your hardware/OS.


If you look at the Python code of the Maze Solver benchmark in the Phoronix test suite you will see that it is the exact same benchmark that I do. The thing is that Linux is a bit slower in this test than FreeBSD, especially with older hardware you can see this clearly.



covacat said:


> that's more about the js compiler ability and CPU single thread performance than about the OS
> my iphone 8 scores 20.58 in ares-6 (my 2012 imac scores 24)


The kernel of Darwin is XNU, a hybrid kernel which uses OSFMK 7.3 (Open Software Foundation Mach Kernel) from the OSF, various elements of FreeBSD (including the process model, network stack, and virtual file system), and an object-oriented device driver API called I/O Kit. 

You're basically comparing FreeBSD to FreeBSD, broadly speaking. My point is that FreeBSD is faster than Linux and Windows in important things such as CSS, JavaScript, IOPS and network latency.


----------



## astyle (Sep 13, 2022)

Voltaire said:


> If you look at the Python code of the Maze Solver benchmark in the Phoronix test suite you will see that it is the exact same benchmark that I do. The thing is that Linux is a bit slower in this test than FreeBSD, especially with older hardware you can see this clearly.


I'm afraid you missed my point - which was about locally running  code vs. remotely running code.  That makes a difference for the benchmarking.


----------



## Voltaire (Sep 13, 2022)

astyle said:


> I'm afraid you missed my point - which was about locally running  code vs. remotely running code.  That makes a difference for the benchmarking.


According to my test, this seems to have no significant effect at all. Suppose I use my download speed of 300mb/s in GhostBSD I get 3.5 as a result.
If I do exactly the same and limit my download speed to 0.5MB/s I still get 3.5 as output.

When I then use Lubuntu and Chromium and use the download speed of 300mb/s again I get 3.8 as a result, less good than if I let GhostBSD download at a maximum of 0.5MB/s.
Network latency between Linux and FreeBSD seems to be the same for this kind of task.
I have very low network latency in both tests so that doesn't seem to be the explanation.

You see that the operating system, hardware, and browser have the greatest impact, and running the code remotely or locally seems to have no impact, even at very slow network speeds with the same latency.

How do you know that Maze Solver doesn't fetch network resources prior to running the benchmark?


----------



## astyle (Sep 13, 2022)

Totally missing my point - it matters if the benchmark is run locally or remotely.  If you run the benchmark on a remote host, the remote host will be the one doing the heavy lifting. Why do you think datacenters get hacked for bitcoin mining? The hacker can use a Celeron to get in - or an i5. Neither of those can mine at the same rate as a Xeon Phi in the datacenter. But - either of them is perfectly capable of receiving the exact same reports from the hacked Xeon Phi.

Disconnect from Internet before re-running those same benchmarks, please.


----------



## Voltaire (Sep 14, 2022)

astyle said:


> Totally missing my point - it matters if the benchmark is run locally or remotely.  If you run the benchmark on a remote host, the remote host will be the one doing the heavy lifting. Why do you think datacenters get hacked for bitcoin mining? The hacker can use a Celeron to get in - or an i5. Neither of those can mine at the same rate as a Xeon Phi in the datacenter. But - either of them is perfectly capable of receiving the exact same reports from the hacked Xeon Phi.
> 
> Disconnect from Internet before re-running those same benchmarks, please.


_In this test we focus on the browser layout engine to exercise *the browser's* handling of CSS 2.1 and CSS 3 layout constructs. _
It measures how fast your browser can handle certain CSS layouts. If I go to the web page and do the test I can unplug the internet cable before doing the test and it gives the same result.
Or do you just mean that servers do most of the work and that's why this type of benchmark isn't that telling. The server determines most of the speed for the end user.


----------



## nordkamp (Sep 14, 2022)

I'm pretty sure this is less a test of operating system and more a test of your browser... You'd expect the browsers to perform similarly across all operating systems. Over here on Artix Linux with a 5950X I get 3.5 seconds if I test on Chromium. Those Phoronix benchmarks are 2 years old so I'm sure the browsers have just gotten faster with time.


----------



## astyle (Sep 14, 2022)

Voltaire said:


> Or do you just mean that servers do most of the work and that's why this type of benchmark isn't that telling. The server determines most of the speed for the end user.


Yep, that's exactly what I mean.


----------

