CPU v3 Optimizations
-
Can we get a x86_64 v3 build?
From my personal perspective, I think we could make that the new standard anyway.
The vast majority of people would benefit from
an easily 10% to 20% performance improvement.Redhat changes all its software to it with RHEL 10.
Intel Haswell (2013) and Excavator from AMD (2015) are the minimum CPUs for that.
-
@ShalokShalom
Hi, I don't think a browser can profit from this, it use 10-20% of a modern CPU at most anyway.
I was involved in the development of the software Blender 3D, there we can get such improvements but it use all cores/threads of a CPU 100% all the time if you render an image.
I an not again such a build but it would not help to get better performance in Vivaldi.Cheers, mib
-
@ShalokShalom AFAIK Optimization (And the same applies for instruction sets) of the assembly code (which is effectively akin to black magic) is generally targeted so that the code can run efficiently on all CPUs for which the OS can be run, that probably includes some that are older than the ones you mention.
If one wants to use advanced optimization (or instructions) for newer CPUs one either have to do so in a manner that does not break or degrade the older CPUs, or you have to use one code path for the old, and one for the newer ones, which does two things: It makes the code more complicated, and it could significantly increase the size of the binary.
We don't tweak the compiler optimization/instruction flags; we let the Chromium devs do that, and I suspect they are fairly conservative. And the compiler used for Chromium is the LLVM Clang compiler, and they are the ones who actually implements the optimization techniques used when building the binary, and they are probably even more conservative than the Chromium devs; anything more advanced than what will safely run on the oldest supported CPU will likely be hidden behind flags that have to be enabled for situation where the vendor knows exactly which CPU architecture they are building for.
Windows 10+ may have some CPU requirements that could fit with such a targeting (I don't know those details), while Linux can AFAIK still run on CPUs from before 2010, which means that limits the number of optimization "tricks" one can use, unless one knows the exact CPU to target.
A separate consideration is that specialized optimization techniques (or instructions) will tend to work better for some applications than others, and the better ones are likely to be dedicated and tailored high performance computing applications, which will only be running on specific computers for which the CPU parameters are known. A browser OTOH will be skipping back and forth between many different tasks.
As far as OS vendors are concerned, they are in a much better position to build CPU-targeted binaries that can be selectively loaded during installation according to the actual CPU (and they may even have minimum CPU requirements).
Essentially, this is a request that will have to be addressed to Chromium and the Clang compiler teams.
-
So when I put Vivaldi and Thorium side by side, why is the second significantly faster than the first?
-
@ShalokShalom
Hi, faster on what?
I tested this some time ago, not faster on my systems on Speedometer 2.0, pages and tabs open on par.
Maybe some 1/10 of a Second faster here and there.
As @yngve mention, to much work to maintain different streams, I fear. -
I cant resist, Speedometer 3.0 on my laptop.
-
I am not speaking about benchmark tests.
We are all aware, that they are often no representative measurement technique, and I think we all can agree, that certain instruction sets simply objectively help performance, when they are used.
I asked for a v3 build that could easily be produced.
The argument around the assembly code suggests, that this is no easy task.
I am fine with that.
-
@ShalokShalom
Hi, to be honest Thorium open some pages faster then Vivaldi but others not.
I can't find a connection, pages with lots of pictures open at the same speed, while others Thorium displays the page almost twice as fast.
If I open 30 tabs at once the result is almost the same in both.
Have to do more tests.
If I remember correctly you can compile Vivaldi yourself, only the UI code is closed source.
I am to lazy to search for it at moment.
Run Vivaldi with--disable-vivaldi
, this run Vivaldi without the UI.
The UI slows down Vivaldi, slower start time shows this dramatically on Windows, Linux not so much.Cheers, mib
-
I am on Linux.
And yes, that compiler optimizations hit in some scenarios, and not in others, is about to be expected.
I do love the Vivaldi UI and I would not use it, without.
I hope, someone sees the benefit of upgrading to a more modern architecture.