Dactyloidae Browser (Basilisk fork)

Discussions about applications built on our platform code that do not have a dedicated board.

Moderators: trava90, athenian200

User avatar
ownedbywuigi
Fanatic
Fanatic
Posts: 138
Joined: 2026-03-09, 21:48
Location: United Kingdom

Re: Dactyloidae Browser (Basilisk fork)

Post by ownedbywuigi » 2026-03-27, 19:34

ZERO dropped frames on YouTube VP9 1440p, on lower end machines/VMs there are only like 5 dropped frames if that
You do not have the required permissions to view the files attached to this post.
Windows Server 2022, i9 9900K, 32GB DDR4, GTX 970, Dactyloidae 13.2-pre1
OS X Monterey, 2013 Mac Pro, Xeon e5-1650v2, 2x FirePro D500, 64GB DDR3, Dactyloidae 13.1

User avatar
ownedbywuigi
Fanatic
Fanatic
Posts: 138
Joined: 2026-03-09, 21:48
Location: United Kingdom

Re: Dactyloidae Browser (Basilisk fork)

Post by ownedbywuigi » 2026-03-27, 20:02

The article images in tradingview.com also load, I don't know how that got fixed, think that was part of my attempts to fix yeezy.com
You do not have the required permissions to view the files attached to this post.
Windows Server 2022, i9 9900K, 32GB DDR4, GTX 970, Dactyloidae 13.2-pre1
OS X Monterey, 2013 Mac Pro, Xeon e5-1650v2, 2x FirePro D500, 64GB DDR3, Dactyloidae 13.1

Enobarbous
Fanatic
Fanatic
Posts: 106
Joined: 2022-12-06, 17:44

Re: Dactyloidae Browser (Basilisk fork)

Post by Enobarbous » 2026-03-27, 20:13

ownedbywuigi wrote:
2026-03-27, 19:13
I rewrote the memory management for JavaScript using SSE2. I don't know if I can push this to upstream though considering Pale Moon is AVX only
Keep in mind that I am using the AVX2 build of Pale Moon and Dactyloidae 13.0pre1 smokes it in loading YT despite being SSE2 only
As far as I remember, Pale Moon switched to avx for the few percent performance it gives. And if sse2, with your optimizations, provides even better performance...
It's not like switching back to sse2 would be difficult.
I am sorry for the use of auto-translator to post

User avatar
Moonchild
Project founder
Project founder
Posts: 39119
Joined: 2011-08-28, 17:27
Location: Sweden

Re: Dactyloidae Browser (Basilisk fork)

Post by Moonchild » 2026-03-27, 20:29

ownedbywuigi wrote:
2026-03-27, 19:13
I rewrote the memory management for JavaScript using SSE2. I don't know if I can push this to upstream though considering Pale Moon is AVX only
Performance improvements are always welcome if they don't cause issues.
Also, it doesn't matter that our main compiler optimization is using AVX; if you are implementing SSE2 variants of core functions at the code level, that may still improve the more generic functions there are (keeping in mind low-level/assembler parts of the code are unlikely to be touched by the compiler's AVX routines).
Enobarbous wrote:
2026-03-27, 20:13
As far as I remember, Pale Moon switched to avx for the few percent performance it gives.
It's considerably more than that. However:
Enobarbous wrote:
2026-03-27, 20:13
And if sse2, with your optimizations, provides even better performance...
It's not like switching back to sse2 would be difficult.
If there is enough performance improvement with a collection of upstreamed patches that makes for a more balanced set working better on a wider set of processors and not actually benefitting from AVX compiler optimizations, then I'm all for taking away the AVX requirement in mainline and making things simpler for every user regardless of hardware. But... it won't be decided on just a single site's load speed. A lot more testing will have to be done.
"There is no point in arguing with an idiot, because then you're both idiots." - Anonymous
"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
ownedbywuigi
Fanatic
Fanatic
Posts: 138
Joined: 2026-03-09, 21:48
Location: United Kingdom

Re: Dactyloidae Browser (Basilisk fork)

Post by ownedbywuigi » 2026-03-27, 21:07

Moonchild wrote:
2026-03-27, 20:29
If there is enough performance improvement with a collection of upstreamed patches that makes for a more balanced set working better on a wider set of processors and not actually benefitting from AVX compiler optimizations, then I'm all for taking away the AVX requirement in mainline and making things simpler for every user regardless of hardware. But... it won't be decided on just a single site's load speed. A lot more testing will have to be done.
I tested on both YouTube and TradingView as those are the two most intensive JS sites I could think of. Let me know of any more “offenders”
Windows Server 2022, i9 9900K, 32GB DDR4, GTX 970, Dactyloidae 13.2-pre1
OS X Monterey, 2013 Mac Pro, Xeon e5-1650v2, 2x FirePro D500, 64GB DDR3, Dactyloidae 13.1

User avatar
ownedbywuigi
Fanatic
Fanatic
Posts: 138
Joined: 2026-03-09, 21:48
Location: United Kingdom

Re: Dactyloidae Browser (Basilisk fork)

Post by ownedbywuigi » 2026-03-27, 21:18

I still need help compiling upstream, right now for my PRs I just copy from Dactyloidae and hope nothing breaks
Windows Server 2022, i9 9900K, 32GB DDR4, GTX 970, Dactyloidae 13.2-pre1
OS X Monterey, 2013 Mac Pro, Xeon e5-1650v2, 2x FirePro D500, 64GB DDR3, Dactyloidae 13.1

User avatar
jobbautista9
Board Warrior
Board Warrior
Posts: 1184
Joined: 2020-11-03, 06:47
Location: Philippines

Re: Dactyloidae Browser (Basilisk fork)

Post by jobbautista9 » 2026-03-28, 02:22

Enobarbous wrote:
2026-03-27, 18:03
lazy loading looks pretty good. Although, I certainly think it's better to move this behavior beyond pref...
This definitely should at least be behind a pref when upstreamed, maybe disabled by default due to the user movement tracking it enables without scripts.
Image

Tired of creating stuff!

Avatar artwork by Shinki669: https://www.pixiv.net/artworks/113645617

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

User avatar
UCyborg
Keeps coming back
Keeps coming back
Posts: 885
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: Dactyloidae Browser (Basilisk fork)

Post by UCyborg » 2026-03-28, 04:00

Full 4 extra points on Speedometer 2.1 compared to SSE2 version of Pale Moon on my AMD Phenom II X4 920.

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

Re: Dactyloidae Browser (Basilisk fork)

Post by athenian200 » 2026-03-28, 05:20

ownedbywuigi wrote:
2026-03-27, 19:13
I rewrote the memory management for JavaScript using SSE2. I don't know if I can push this to upstream though considering Pale Moon is AVX only

Keep in mind that I am using the AVX2 build of Pale Moon and Dactyloidae 13.0pre1 smokes it in loading YT despite being SSE2 only
I should probably clarify something for anyone listening who doesn't know a lot about instruction sets...
Article wrote:Partial Supersets, Not Complete Replacements:

SSE2 is a superset of MMX for integers: SSE2 added 128-bit integer instructions, making MMX redundant for integer workloads (and avoiding register aliasing issues). Modern compilers rarely generate MMX code.
AVX is a superset of SSE: AVX uses the VEX prefix to extend SSE instructions to 256 bits (e.g., vaddps ymm0, ymm1, ymm2 vs. SSE’s addps xmm0, xmm1). SSE instructions still work on AVX-enabled CPUs (using the lower 128 bits of YMM registers).
AVX2 is a superset of AVX: Adds 256-bit integer and gather/scatter support to AVX.
AVX-512 is a superset (with caveats): Extends AVX2 to 512 bits but requires hardware support (not all CPUs have it).
So, some people might misread that and think having AVX means you can't have SSE... that's not actually the case. AVX just opens the door to more optimizations. So we could have all the optimizations he has and also some he doesn't, we wouldn't have to drop back to down SSE2 just to benefit.

The reason it's impressive is because he's got the speed improvement without using AVX optimization at all, and working entirely within the limits of what SSE2 can do. It's like if someone got an application to run faster on a Pentium III CPU than it did on a Pentium D. It wouldn't mean the Pentium III itself was a better CPU, it would mean the code was very optimized to the point that it beat the old code even despite the handcap of less capable optimizations or older hardware.
"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
ownedbywuigi
Fanatic
Fanatic
Posts: 138
Joined: 2026-03-09, 21:48
Location: United Kingdom

Re: Dactyloidae Browser (Basilisk fork)

Post by ownedbywuigi » 2026-03-28, 06:25

UCyborg wrote:
2026-03-28, 04:00
Full 4 extra points on Speedometer 2.1 compared to SSE2 version of Pale Moon on my AMD Phenom II X4 920.
13.0-pre2 coming next Tuesday so expect some more optimisations from there.

I’ve decided I won’t push this to upstream UNTIL my optimisations are deemed complete enough/tested more, to avoid issues in the long run.
Windows Server 2022, i9 9900K, 32GB DDR4, GTX 970, Dactyloidae 13.2-pre1
OS X Monterey, 2013 Mac Pro, Xeon e5-1650v2, 2x FirePro D500, 64GB DDR3, Dactyloidae 13.1

User avatar
ownedbywuigi
Fanatic
Fanatic
Posts: 138
Joined: 2026-03-09, 21:48
Location: United Kingdom

Re: Dactyloidae Browser (Basilisk fork)

Post by ownedbywuigi » 2026-03-28, 06:50

Tried comparing Instagram between 13.0-pre1.1 (private testing build) and Pale Moon 34.1 and it is also significantly faster (no caching)
Windows Server 2022, i9 9900K, 32GB DDR4, GTX 970, Dactyloidae 13.2-pre1
OS X Monterey, 2013 Mac Pro, Xeon e5-1650v2, 2x FirePro D500, 64GB DDR3, Dactyloidae 13.1

User avatar
Moonchild
Project founder
Project founder
Posts: 39119
Joined: 2011-08-28, 17:27
Location: Sweden

Re: Dactyloidae Browser (Basilisk fork)

Post by Moonchild » 2026-03-28, 07:10

Following up on athenian's post, let me clarify as well: Dropping AVX would only be thought of if the faster code when built into an AVX optimised build would result in negligible difference or less performance than built without AVX instructions. Yes, this is possible, because AVX isn't actually a pure superset of SSE-class instructions but a partial replacement. So, it's more complicated and depends in part on how exactly AVX is treated in hardware when alongside SSE2.

Either way though, it would be an improvement and I'd be happy to evaluate. The biggest issue I see with the commits isn't actually the substance which looks overall clean, but rather that they need to be cleaned up and/or split to keep code changes focused on just one thing with minimal drive-by changes. I could take on that task if it's not clear how best to make PRs?
"There is no point in arguing with an idiot, because then you're both idiots." - Anonymous
"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
ownedbywuigi
Fanatic
Fanatic
Posts: 138
Joined: 2026-03-09, 21:48
Location: United Kingdom

Re: Dactyloidae Browser (Basilisk fork)

Post by ownedbywuigi » 2026-03-28, 07:22

UCyborg wrote:
2026-03-28, 04:00
Full 4 extra points on Speedometer 2.1 compared to SSE2 version of Pale Moon on my AMD Phenom II X4 920.
On my ThinkPad T480:
Pale Moon 34.1.0 AVX2 - 22.3
Dactyloidae 13.0-pre1.1 SSE2 - 33.7

I want to improve performance more on jQuery and React, so I'll focus on those for pre2.
Windows Server 2022, i9 9900K, 32GB DDR4, GTX 970, Dactyloidae 13.2-pre1
OS X Monterey, 2013 Mac Pro, Xeon e5-1650v2, 2x FirePro D500, 64GB DDR3, Dactyloidae 13.1

User avatar
ownedbywuigi
Fanatic
Fanatic
Posts: 138
Joined: 2026-03-09, 21:48
Location: United Kingdom

Re: Dactyloidae Browser (Basilisk fork)

Post by ownedbywuigi » 2026-03-28, 07:54

Moonchild wrote:
2026-03-28, 07:10
Either way though, it would be an improvement and I'd be happy to evaluate. The biggest issue I see with the commits isn't actually the substance which looks overall clean, but rather that they need to be cleaned up and/or split to keep code changes focused on just one thing with minimal drive-by changes. I could take on that task if it's not clear how best to make PRs?
I'll be more then happy to give you or anyone else at the Pale Moon team an account on my Gitea instance if that means Dactyloidae's changes gets pushed to upstream :D
Windows Server 2022, i9 9900K, 32GB DDR4, GTX 970, Dactyloidae 13.2-pre1
OS X Monterey, 2013 Mac Pro, Xeon e5-1650v2, 2x FirePro D500, 64GB DDR3, Dactyloidae 13.1

User avatar
Moonchild
Project founder
Project founder
Posts: 39119
Joined: 2011-08-28, 17:27
Location: Sweden

Re: Dactyloidae Browser (Basilisk fork)

Post by Moonchild » 2026-03-28, 08:02

Speedometer probably benefits from the other changes you've made to imgloader, not primarily the SSE2 bit. I'm also not sure how well a mobile 7th or 8th gen Intel CPU handles AVX2; it may actually be detrimental for it and the increased power use might be reducing compute efficiency. i.e. Using an AVX2 build might not necessarily be the best choice for older hardware.
"There is no point in arguing with an idiot, because then you're both idiots." - Anonymous
"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
Moonchild
Project founder
Project founder
Posts: 39119
Joined: 2011-08-28, 17:27
Location: Sweden

Re: Dactyloidae Browser (Basilisk fork)

Post by Moonchild » 2026-03-28, 08:03

ownedbywuigi wrote:
2026-03-28, 07:54
Moonchild wrote:
2026-03-28, 07:10
Either way though, it would be an improvement and I'd be happy to evaluate. The biggest issue I see with the commits isn't actually the substance which looks overall clean, but rather that they need to be cleaned up and/or split to keep code changes focused on just one thing with minimal drive-by changes. I could take on that task if it's not clear how best to make PRs?
I'll be more then happy to give you or anyone else at the Pale Moon team an account on my Gitea instance if that means Dactyloidae's changes gets pushed to upstream :D
That won't actually be necessary if the repo is public. I'd have to manually go through the code changes anyway and make new commits ;)
"There is no point in arguing with an idiot, because then you're both idiots." - Anonymous
"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
Moonchild
Project founder
Project founder
Posts: 39119
Joined: 2011-08-28, 17:27
Location: Sweden

Re: Dactyloidae Browser (Basilisk fork)

Post by Moonchild » 2026-03-28, 08:08

ownedbywuigi wrote:
2026-03-27, 20:02
The article images in tradingview.com also load, I don't know how that got fixed, think that was part of my attempts to fix yeezy.com
That would likely be because of the Image decode() implementation you put in alongside that whole bunch of hard-coded yeezy.com special handling (which can't be upstreamed as-is).
It does make me wonder though if that fairly minimal forwarding to a promise is all that's needed? I may have over-estimated Issue #2744 (UXP) in that case?
"There is no point in arguing with an idiot, because then you're both idiots." - Anonymous
"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
ownedbywuigi
Fanatic
Fanatic
Posts: 138
Joined: 2026-03-09, 21:48
Location: United Kingdom

Re: Dactyloidae Browser (Basilisk fork)

Post by ownedbywuigi » 2026-03-28, 08:10

Moonchild wrote:
2026-03-28, 08:03
ownedbywuigi wrote:
2026-03-28, 07:54
Moonchild wrote:
2026-03-28, 07:10
Either way though, it would be an improvement and I'd be happy to evaluate. The biggest issue I see with the commits isn't actually the substance which looks overall clean, but rather that they need to be cleaned up and/or split to keep code changes focused on just one thing with minimal drive-by changes. I could take on that task if it's not clear how best to make PRs?
I'll be more then happy to give you or anyone else at the Pale Moon team an account on my Gitea instance if that means Dactyloidae's changes gets pushed to upstream :D
That won't actually be necessary if the repo is public. I'd have to manually go through the code changes anyway and make new commits ;)
The code isn't exactly 100% finished just yet as I've still got some more WASM and JIT optimisations to make, as well as other changes I want to make before 13.0 becomes stable.
Windows Server 2022, i9 9900K, 32GB DDR4, GTX 970, Dactyloidae 13.2-pre1
OS X Monterey, 2013 Mac Pro, Xeon e5-1650v2, 2x FirePro D500, 64GB DDR3, Dactyloidae 13.1

User avatar
Moonchild
Project founder
Project founder
Posts: 39119
Joined: 2011-08-28, 17:27
Location: Sweden

Re: Dactyloidae Browser (Basilisk fork)

Post by Moonchild » 2026-03-28, 08:25

ownedbywuigi wrote:
2026-03-28, 08:10
The code isn't exactly 100% finished just yet as I've still got some more WASM and JIT optimisations to make, as well as other changes I want to make before 13.0 becomes stable.
As I said though, it would have to be split out into individual improvements and upstreamed that way. just having a blob with improvements squashed together won't actually work for our dev as upstream. If there are specific things you feel are incomplete with what you have now, please let me know, and I'll pay extra attention to that.
"There is no point in arguing with an idiot, because then you're both idiots." - Anonymous
"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
ownedbywuigi
Fanatic
Fanatic
Posts: 138
Joined: 2026-03-09, 21:48
Location: United Kingdom

Re: Dactyloidae Browser (Basilisk fork)

Post by ownedbywuigi » 2026-03-28, 08:28

Moonchild wrote:
2026-03-28, 08:25
ownedbywuigi wrote:
2026-03-28, 08:10
The code isn't exactly 100% finished just yet as I've still got some more WASM and JIT optimisations to make, as well as other changes I want to make before 13.0 becomes stable.
As I said though, it would have to be split out into individual improvements and upstreamed that way. just having a blob with improvements squashed together won't actually work for our dev as upstream. If there are specific things you feel are incomplete with what you have now, please let me know, and I'll pay extra attention to that.
JIT is incomplete to what I have now, still working on that for better performance for jQuery and React websites.

WASM may still have some fixes, too.
Windows Server 2022, i9 9900K, 32GB DDR4, GTX 970, Dactyloidae 13.2-pre1
OS X Monterey, 2013 Mac Pro, Xeon e5-1650v2, 2x FirePro D500, 64GB DDR3, Dactyloidae 13.1