Skip to content

Commit

Permalink
updated generic-optimized
Browse files Browse the repository at this point in the history
  • Loading branch information
n7itro committed Dec 23, 2024
1 parent 2724224 commit 42bf473
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 49 deletions.
54 changes: 8 additions & 46 deletions content/guides/generic-optimized.md
Original file line number Diff line number Diff line change
@@ -1,56 +1,18 @@
---
title: Choose between the generic and optimized build
title: Why have optimized builds been removed?
aliases:
- Choose between the generic and optimized build
lastmod: 2024-09-29
lastmod: 2024-12-23
---

> [!note]
> This guide only applies to the *Linux* and *Windows* versions of Zen.
For Windows and Linux, Zen Browser used to have the option to download optimized builds. These builds utilized AVX2 instructions to improve perfomance. These builds have been removed because of the following reasons:

This [[guides/index|guide]] provides an overview of the differences between the generic and optimized builds of Zen, so you can make an informed decision on which version to use.
1. **The optimized version isn't necessarily faster**: Profile-guided optimizations (PGO) aren't working with the optimized version because Clang fails to handle them properly, leading to a crash. As a result, we cannot build optimized versions if we want to include both PGO and Link Time Optimization (LTO). Additionally, AVX2 increases power consumption and is not ideal for heavy parallel computations.

## Differences between the optimized and generic builds
2. **AVX2 isn't supported everywhere**: There are still many devices that don't support AVX2 instructions, which makes the installation process more confusing.

The optimized version of Zen uses [Advanced Vector Extensions 2 (AVX2)](https://wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2), a CPU instruction set that enhances performance for certain tasks. This instruction set is available only on modern processors.
In conclusion, having optimized builds is not really worth it, especially if we want to have PGO & LTO.

## Supported CPUs for the optimized builds
P.S. all optimized builds will be automatically updated to generic starting from version `1.0.2-b.4`.

The optimized builds of Zen are compatible only with the following CPU families:

* AMD
* Carrizo
* Bristol Ridge
* All Ryzen CPUs
* Intel
* Desktop and Mobile Processors
* 4th generation Intel Core and newer (All architectures)
* Celeron and Pentium Tiger Lake and newer
* Intel Core Series 1 and Series 2
* High-End Desktop (HEDT) and Server Processors
* Intel Core X-series (Skylake X, Cascade Lake)
* Xeon Scalable (Cascade Lake)
* Xeon Scalable (Cooper Lake)
* 3rd generation Intel Xeon Scalable (Ice Lake, Cooper Lake)
* 4th generation Intel Xeon Scalable (Sapphire Rapids)
* 5th generation Intel Xeon Scalable (Emerald Rapids)

If your CPU family isn't listed, use the generic build.

## Check whether your device supports AVX2
### Linux
1. Open a terminal
2. Run the following command:
```bash
grep -q -i avx2 /proc/cpuinfo && echo true
```

The terminal outputs whether your CPU is supported (`true`) or not.

### Windows
1. Open the **Settings** app.
2. Go to **System** > **About**.

The settings app displays your CPU model.

3. Check the model name in either the [Intel](https://ark.intel.com/content/www/us/en/ark.html) or [AMD](https://www.amd.com/en/products/specifications/processors.html) websites.
View original [here](https://github.com/zen-browser/desktop/wiki/Why-have-optimized-builds-been-removed%3F)
3 changes: 0 additions & 3 deletions vercel.json

This file was deleted.

0 comments on commit 42bf473

Please sign in to comment.