Defaulting to AVX for 64-bit architectures?

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.

What instruction set should be the minimum for Pale Moon going forward?

Poll ended at 2024-03-09, 15:33

Keep it as-is (SSE2 or later)
18
33%
AVX (Bulldozer/AMD FX/Intel Sandy Bridge)
19
35%
AVX2 (Excavator/Zen/Haswell/Core i3/5/7)
15
27%
Just show me the results
3
5%
 
Total votes: 55

User avatar
RealityRipple
Astronaut
Astronaut
Posts: 663
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California
Contact:

Re: Defaulting to AVX for 64-bit architectures?

Unread post by RealityRipple » 2024-03-05, 03:56

Switched to the AVX2 builds yesterday on my desktop and laptop. I honestly haven't noticed any speed differences at all yet, but as I said, I think it'll be the switch back that might make things more apparent.

User avatar
suzyne
Lunatic
Lunatic
Posts: 360
Joined: 2023-06-28, 22:43
Location: Australia

Re: Defaulting to AVX for 64-bit architectures?

Unread post by suzyne » 2024-03-05, 04:00

Off-topic:
I am not a long term Pale Moon user, but long enough to lose track of the number of comments that display everything from indifference to active disdain of the types of sites I alluded to. Perhaps that is simply a noisy minority and my perception is inaccurate, but I suppose it would only take one or two Pale Moon users in this thread to say that they love and use instagram (or similar) and discord in the browser, (not the memory hogging Electron apps) daily to prove me wrong?
Laptop 1: Windows 10 64-bit, i7 @ 2.80GHz, 16GB, NVIDIA GeForce MX450.
Laptop 2: Windows 10 32-bit, Atom Z3735F @ 1.33GHz, 2GB, Intel HD Graphics.

User avatar
Eduardolucas1
Hobby Astronomer
Hobby Astronomer
Posts: 29
Joined: 2024-02-05, 03:15

Re: Defaulting to AVX for 64-bit architectures?

Unread post by Eduardolucas1 » 2024-03-05, 04:04

suzyne wrote:
2024-03-05, 04:00
Off-topic:
I am not a long term Pale Moon user, but long enough to lose track of the number of comments that display everything from indifference to active disdain of the types of sites I alluded to. Perhaps that is simply a noisy minority and my perception is inaccurate, but I suppose it would only take one or two Pale Moon users in this thread to say that they love and use instagram and discord in the browser, (not the memory hogging Electron apps) daily to prove me wrong?
I do use them on my "old" computer, of which i happily spoke about in earlier pages, without hardware acceleration in anything as my gpu is broken on my OS due to bitrot. I use discord daily and chat daily on it. I see instagram shorts on it, use onedrive. I could use whatsapp on it (used when whatsapp was not hosting its own database and was compatible with pale moon), used tiktok, tinder. I even ordered uber rides and food, web shopping of all kinds. On a Pentium D with 4GB of ram. I watch 720p and 1080 video on it, even 720p60fps. I even used magdown to download torrents, its actually my preference when torrents load.

User avatar
RealityRipple
Astronaut
Astronaut
Posts: 663
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California
Contact:

Re: Defaulting to AVX for 64-bit architectures?

Unread post by RealityRipple » 2024-03-05, 05:40

Tried the Discord website on AVX2, it wasn't any faster than the site usually is, BUT - my laptop's like 5 degrees cooler than it normally would be (Celsius).

User avatar
Pentium4User
Board Warrior
Board Warrior
Posts: 1137
Joined: 2019-04-24, 09:38

Re: Defaulting to AVX for 64-bit architectures?

Unread post by Pentium4User » 2024-03-05, 06:23

RealityRipple wrote:
2024-03-05, 05:40
Tried the Discord website on AVX2, it wasn't any faster than the site usually is, BUT - my laptop's like 5 degrees cooler than it normally would be (Celsius).
Compare the CPU consumption.
The profile picture shows my Maico EC30 E ceiling fan.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35636
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Defaulting to AVX for 64-bit architectures?

Unread post by Moonchild » 2024-03-05, 10:05

athenian200 wrote:
2024-03-04, 21:27
If UXP's platform default becomes AVX, I will naturally go along with that, but otherwise I don't have any plans to add an AVX flag into my Epyrus builds...
null_ID wrote:
2024-03-05, 00:04
Whoa, after 9 years of just lurking, I finally have to chime in. So, where exactly does Basilisk stand in all this?
Just to clarify in a brief response here: the platform or "other applications" will not have hard defaults (and making AVX a hard requirement in code is definitely not on the table at this point) and it will be entirely up to any individual dev what they want to aim for. If you make a different UXP-based application or a fork of Pale Moon and you want to build for i386 or AVX-512, then that is entirely up to you. This only applies to mainline builds of Pale Moon provided by us in binary format. That's all.

(of course I do expect people providing official builds on other platforms to follow us if feasible, like andyprough already indicated, as a general guideline, but if maintainers want to offer other optimizations alongside it then that would be just fine!)
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
Eduardolucas1
Hobby Astronomer
Hobby Astronomer
Posts: 29
Joined: 2024-02-05, 03:15

Re: Defaulting to AVX for 64-bit architectures?

Unread post by Eduardolucas1 » 2024-03-05, 15:30

null_ID wrote:
2024-03-05, 00:04
What I'm asking here is that you find a solution that doesn't throw us, who are on older system, under the bus, because us who are on older systems often have valid reasons for it that we can't just ignore with the click of our fingers. This community has demonstrated that you're able to provide builds that cater to variety of conditions, so I ask you to find some sort of solution based around that idea. Many good ideas have already been thrown around. At the very least, a transitional period of a reasonable length should be allowed so we can get our affairs in order.
I honestly think you`re right. As there seems to be no interest in bringing a better way to follow, i think its the last version of the browser i will be using.

User avatar
andyprough
Astronaut
Astronaut
Posts: 748
Joined: 2020-05-31, 04:33

Re: Defaulting to AVX for 64-bit architectures?

Unread post by andyprough » 2024-03-05, 15:40

Eduardolucas1 wrote:
2024-03-05, 15:30
null_ID wrote:
2024-03-05, 00:04
What I'm asking here is that you find a solution that doesn't throw us, who are on older system, under the bus, because us who are on older systems often have valid reasons for it that we can't just ignore with the click of our fingers. This community has demonstrated that you're able to provide builds that cater to variety of conditions, so I ask you to find some sort of solution based around that idea. Many good ideas have already been thrown around. At the very least, a transitional period of a reasonable length should be allowed so we can get our affairs in order.
I honestly think you`re right. As there seems to be no interest in bringing a better way to follow, i think its the last version of the browser i will be using.
You should both be reading what's actually being discussed here. The discussion is around making AVX the default and still maintaining compatibility with older machines either through Windows 32-bit or through community SSE2 builds that would be accessible from the Downloads page. So far it doesn't appear that any of our older machines will be left behind.

User avatar
Basilisk-Dev
Lunatic
Lunatic
Posts: 323
Joined: 2022-03-23, 16:41
Location: Chamber of Secrets
Contact:

Re: Defaulting to AVX for 64-bit architectures?

Unread post by Basilisk-Dev » 2024-03-05, 15:41

null_ID wrote:
2024-03-05, 00:04
Whoa, after 9 years of just lurking, I finally have to chime in. So, where exactly does Basilisk stand in all this?
Basilisk will absolutely not be dropping support for machines with older processors. As Moonchild mentioned already, this would not be a platform-wide change in UXP itself. The CPU architecture and optimizations are passed in at compile time.

Here is a link to recent discussion of optimized builds in the Basilisk section of the forum: viewtopic.php?f=61&t=30915
Basilisk Project Owner

viewtopic.php?f=61&p=230756

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1536
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Defaulting to AVX for 64-bit architectures?

Unread post by athenian200 » 2024-03-05, 15:59

Eduardolucas1 wrote:
2024-03-05, 15:30
I honestly think you`re right. As there seems to be no interest in bringing a better way to follow, i think its the last version of the browser i will be using.
I wouldn't worry just yet... it looks like SSE2 is winning in the polls.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

User avatar
Garland
Hobby Astronomer
Hobby Astronomer
Posts: 21
Joined: 2023-09-26, 20:39

Re: Defaulting to AVX for 64-bit architectures?

Unread post by Garland » 2024-03-05, 20:46

I note that votes for AVX and AVX2 are both votes to not "keep it as-is (SSE2 or later)". Therefore, I propose to add the AVX and AVX2 votes together to decide whether to "keep it as-is (SSE2 or later)" or not. If AVX+AVX2 wins, then use AVX vs. AVX2 to decide which instruction set to which to upgrade.

User avatar
Eduardolucas1
Hobby Astronomer
Hobby Astronomer
Posts: 29
Joined: 2024-02-05, 03:15

Re: Defaulting to AVX for 64-bit architectures?

Unread post by Eduardolucas1 » 2024-03-05, 22:34

Garland wrote:
2024-03-05, 20:46
I note that votes for AVX and AVX2 are both votes to not "keep it as-is (SSE2 or later)". Therefore, I propose to add the AVX and AVX2 votes together to decide whether to "keep it as-is (SSE2 or later)" or not. If AVX+AVX2 wins, then use AVX vs. AVX2 to decide which instruction set to which to upgrade.
I feel this would underrepresent the opposition to the change.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35636
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Defaulting to AVX for 64-bit architectures?

Unread post by Moonchild » 2024-03-05, 23:01

Eduardolucas1 wrote:
2024-03-05, 22:34
I feel this would underrepresent the opposition to the change.
It wouldn't. Remember that these levels are not mutually exclusive, they are minima.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
RealityRipple
Astronaut
Astronaut
Posts: 663
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California
Contact:

Re: Defaulting to AVX for 64-bit architectures?

Unread post by RealityRipple » 2024-03-06, 00:03

I know metric collecting tends to be disliked in this community, but you could do a quick, Steam-like, manual-next-button hardware survey - maybe as an uninstallable extension? It'd only need to return a 0/1/2 value to the server in response, so privacy shouldn't be a big deal, and it could essentially be version-disabled, if uninstalling an extension during update is too messy, until needed for the next time you need to know about some specific userbase hardware?

User avatar
CrimsonAkiha
Hobby Astronomer
Hobby Astronomer
Posts: 17
Joined: 2023-09-10, 15:10

Re: Defaulting to AVX for 64-bit architectures?

Unread post by CrimsonAkiha » 2024-03-06, 00:09

Moonchild wrote:
2024-03-05, 23:01
It wouldn't. Remember that these levels are not mutually exclusive, they are minima.
It would still be a bad idea to inflict these issues on an entire third of your user-base, don't you think? Especially given that we've already discovered from this thread that there are computers manufactured within the last 5 years that don't even support AVX, let alone AVX2. It would certainly alienate/disillusion a lot of people from the project, possibly some of which might actually have the skills to actually fix the performance issues with the browser (or have already fixed them privately...), but are rapidly losing interest in contributing upstream because of the attitude displayed by decisions like this, which, to someone with those skills, might seem like putting a band-aid over a bullet-wound.

There are two groups of people who could contribute, those who have an expensive formal education, and those who have had to teach themselves everything they know in order to save money by fixing problems instead of throwing money at them; the former group are likely all using and contributing to Firefox, and the latter group is the sort of group I imagine Pale Moon would attract if not for how quietly hostile and dismissive the attitude towards them has been over the years (not just from this particular case).

I don't expect switching the build flags to AVX/AVX2 to make anyone's life outright impossible, but it certainly sends a message to your users. It's also weird that everyone is making decisions like this right around the time I think Intel's patents on SSE2/SSE3 are expiring. Something in the air?

By the way, if you really want to, I think you actually can make MSVC target SSE4.2 and not AVX. I remember the argument being something like "/d2archSSE42". (If you don't trust that, you can probably tell MSVC to output assembly and check it yourself)
Last edited by CrimsonAkiha on 2024-03-06, 00:11, edited 1 time in total.

User avatar
R3n_001
Moonbather
Moonbather
Posts: 66
Joined: 2019-05-25, 20:39
Contact:

Re: Defaulting to AVX for 64-bit architectures?

Unread post by R3n_001 » 2024-03-06, 00:09

I see no real harm in collecting if machine is SSE2/AVX/AVX2 compatible in just a basic number. There's no way for it to be identifiable as there are lots of CPUs that fit each category. I don't think it even needs to be an extenson.

Also missing that people pre-AVX could just use x86 builds. It's not like SSE2 is going to be completely dropped.

User avatar
R3n_001
Moonbather
Moonbather
Posts: 66
Joined: 2019-05-25, 20:39
Contact:

Re: Defaulting to AVX for 64-bit architectures?

Unread post by R3n_001 » 2024-03-06, 00:37

CrimsonAkiha wrote:
2024-03-06, 00:09
It's also weird that everyone is making decisions like this right around the time I think Intel's patents on SSE2/SSE3 are expiring. Something in the air?
I didn't think about it like that, nor have I heard about that before. I know Microsoft obviously got something because there's no logical reason to drop pre-7000 Intel and pre-2000 Ryzen. Outside of Microsoft, if it were to be someone who could get money from Intel, it would be Canonical (Ubuntu), IBM (Red Hat/Fedora), and whoever else big(ish) that is trying to drop pre-AVX2.

Kinda fine with it since I'm the type of turbo nerd that is fine with hacking stuff together to get it working unofficially, and those are things I would never use anyways, but normies might want. Would just make old hardware cheaper for me.

Also I don't think a non AMD or Intel CPU is really feasible outside of like the China CPUs that are near impossible to get outside of China, and they don't care about patents anyways.

User avatar
null_ID
Newbie
Newbie
Posts: 3
Joined: 2024-03-04, 22:38

Re: Defaulting to AVX for 64-bit architectures?

Unread post by null_ID » 2024-03-06, 00:55

Basilisk-Dev wrote:
2024-03-05, 15:41
Basilisk will absolutely not be dropping support for machines with older processors. As Moonchild mentioned already, this would not be a platform-wide change in UXP itself. The CPU architecture and optimizations are passed in at compile time.

Here is a link to recent discussion of optimized builds in the Basilisk section of the forum: viewtopic.php?f=61&t=30915
I'm pleased to hear this. Thank you for explaining, MC, Basilisk-Dev.
suzyne wrote:
2024-03-05, 00:54
When I see in this thread accounts about older computers working performance wise just fine in Pale Moon, I wonder what sites are being used daily? For reasons of cost and the environment, I think it is wonderful to continue to use devices that continue to turn on, but I suspect the reports of the current default Pale Moon being more than adequate are based on restricting use to a shrinking subset of the web?
I have here some interesting numbers for you, ma'am (miss?). I'm on a 4 Gb system that's been set up to boot Fatdog Linux in it's current latest version of 9.01 at the time of this writing. This is what we call a super light weight (despite what the name might tell you), and if you want to go any lower than this, you'll have to go full Tinycore Linux next.

I decided to humor you by doing a bit of testing with my RAM use. When the Fatdog system boots to desktop, assuming you don't start any applications, the system idles at around ~250 Mb of RAM used. Now we start Pale Moon and use it to go to Youtube. This javascript heavy monstrosity bumps the RAM use to a whopping 1,0-1,2 gigs of RAM, depending on what videos you're watching. This assumes no other tabs open, usually not a problem for me, because I just want to concentrate on watching the content of my choice. Before we opened Youtube, no tabs open, the Fatdog system + Pale Moon on their own only want a mere 480-520 Mb of RAM. Of course, as you start visiting your preferred web sites, this begins to increase your RAM use, but unless I'm visiting some bloated, JS laden mess, I rarely hit the 1,8 Gb mark. To do that, we must then boot up the Discord client.

Fatdog system + Pale Moon with some tabs open + the dedicated Discord client for Linux usually take me to around 1,5-2,0 Gb of RAM used. RAM use past 2 gigs might trigger swap use, but only if I have a very demanding, poorly coded website open in PM. The kind that begins to load massive scripts and multimedia. This is usually when I start seeing some moderate swap use.

Generally speaking, with correct choices of software, 4 Gb is still plenty. I see talk of even 8 Gb no longer being sufficient, but this is mostly the fault of Microsoft and their poorly coded fatty of an OS. The Linux folks know what's up. I don't know what type of voodoo magic and chicken sacrifices the Fatdog devs practice, but this thing flies, and sets an example of how an operating system should be optimized.

The real kicker here is that I can also do all of this with a system loaded fully to RAM, where the RAM is split in two, one partition set up as a virtual file system, leaving just 2 Gb of actual RAM for use. In these conditions I've still used Pale Moon and the Discord client side by side with only a minor performance downgrade.

So you see, Pale Moon is indeed still viable for older systems too.

User avatar
CrimsonAkiha
Hobby Astronomer
Hobby Astronomer
Posts: 17
Joined: 2023-09-10, 15:10

Re: Defaulting to AVX for 64-bit architectures?

Unread post by CrimsonAkiha » 2024-03-06, 01:02

R3n_001 wrote:
2024-03-06, 00:37
Also I don't think a non AMD or Intel CPU is really feasible outside of like the China CPUs that are near impossible to get outside of China, and they don't care about patents anyways.
Yes. Yes they do care. And it certainly is feasible, it's just that Intel has a reputation for utterly destroying anyone who tries, and [as of relatively recently] deliberately creating situations much like this one that would make it pointless for anyone else to do so legally.

From https://jolt.law.harvard.edu/digest/int ... erspective:
Intel did not stop at frustrating its agreement with AMD to defend its turf in the x86 processor industry; it began to pursue legal action against all threats to its market share. Intel had been actively purging the microprocessor market of other manufacturers of x86-compatible processors. Intel had unleashed its legal arsenal on companies that did not have an x86 license and cloned Intel’s chips through reverse engineering, alleging copyright and patent infringement. This expansive litigation activity from the late 1980s to the early 1990s marked the beginning of Intel’s “trial and error” strategy: launch legal attacks against competitors, and when the courts gave Intel lemons, make lemonade by exploring alternative legal and business tactics to hinder the competition.
Processor design is definitely complex, but there are plenty of companies out there with the resources to implement x86 (they already have efficient implementations of their own ISAs after all), and it's quite possible they could make a significant profit out of doing so depending on how they do it. I could be wrong, but I believe they don't for a very good reason: It seems like Intel certainly cares.

EDIT: It seems like I misinterpreted "and they don't care about patents anyway" as referring to Intel and not the companies in China you mentioned (or at least I think so, anyway). I'm sorry about that. I'll leave this edit here for clarity, because I think the part about it being feasible is still important, because Intel really did have a lot more competitors in the past than they have now, and I think it is extremely relevant to this issue just how aggressive and manipulative they are against that competition.

User avatar
R3n_001
Moonbather
Moonbather
Posts: 66
Joined: 2019-05-25, 20:39
Contact:

Re: Defaulting to AVX for 64-bit architectures?

Unread post by R3n_001 » 2024-03-06, 01:21

CrimsonAkiha wrote:
2024-03-06, 01:02
Yes. Yes they do care
I just noticed the edit when making the post, I'll leave this here since I've already typed it all out.

The reason why so many fake or clone products come from China is because patents do not matter there, the worst that can happen is a sanction. Applies to more serious stuff too, like look at like Moore Threads, guy comes from high ranking position in Nvidia to found his own company to make GPUs. All they got was a sanction, which does not matter since they're only selling inside China anyways.
CrimsonAkiha wrote:
2024-03-06, 01:02
Processor design is definitely complex, but there are plenty of companies out there with the resources to implement x86 (they already have efficient implementations of their own ISAs after all), and it's quite possible they could make a significant profit out of doing so depending on how they do it. I could be wrong, but I believe they don't for a very good reason: It seems like Intel certainly cares.
I guess so, but I don't think they would really go for it. They seem to be all in on whatever architecture. Like Nvidia wanted to flat out buy ARM.

Locked