XUL update made Pale Moon 28 at least 20% slower
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.
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.
XUL update made Pale Moon 28 at least 20% slower
It seems Pale Moon developers have started falling into the trap of software bloat Firefox developers had already been in when the fork was created. Although Pale Moon authors did a really great job at sorting out unnecessary bloat, Chrome-mockery and other useless features that were there only for trend and fashion, it seems PM can't escape its destiny of getting fatter and slower by every release. I'm really sorry about that because the users of Pale Moon old or simply low-end computers are becoming even more defenseless to software bloat.
The first thing I noticed is that xul.dll in the new version is twice as big as in 27 (55.4 MB vs 27.6 MB). The second thing that it loads up in 7 seconds, instead of 2 seconds (previous version) with warm start (!). I have an SSD anyways so it should load fast. Chrome loads in 1.5 sec. The third annoying thing is that - besides the bluish default theme that nobody ever wanted or asked for - almost every UI element is slower, accessing main or context menu elements, rendering and scrolling of web pages, etc.
Pale Moon has been a great alternative to Firefox or any other bloated browser. Even users of older computers running Windows XP could stay up-to-date with custom MSFN builds. It would really be a pity if developers let this happen. So please do something about it. Go back to older version of XUL, optimize more, only pick changes that are really needed, etc. Pale Moon should be faster and faster with each new version.
The first thing I noticed is that xul.dll in the new version is twice as big as in 27 (55.4 MB vs 27.6 MB). The second thing that it loads up in 7 seconds, instead of 2 seconds (previous version) with warm start (!). I have an SSD anyways so it should load fast. Chrome loads in 1.5 sec. The third annoying thing is that - besides the bluish default theme that nobody ever wanted or asked for - almost every UI element is slower, accessing main or context menu elements, rendering and scrolling of web pages, etc.
Pale Moon has been a great alternative to Firefox or any other bloated browser. Even users of older computers running Windows XP could stay up-to-date with custom MSFN builds. It would really be a pity if developers let this happen. So please do something about it. Go back to older version of XUL, optimize more, only pick changes that are really needed, etc. Pale Moon should be faster and faster with each new version.
Re: XUL update made Pale Moon 28 at least 20% slower
Thank you for your observations.
Now, kindly take a step back and see what's been going on with the milestone changeover:
We've made a new fork of the Mozilla codebase for this release. This means that we have inherited a much larger codebase (24 million lines of code as opposed to 14 million lines) that we are working from. Mind you, a good portion of this is absolutely necessary to implement what the modern web demands of a web browser, and is not "bloat" at all (e.g. ECMAScript's JavaScript standard implementations, WebGL2, DOM specifications).
In addition, the XUL library is currently a monolithic library that has several others folded in that were separate in Pale Moon 27 (most notably media handling and the JavaScript engine). We have open issues to split those libraries back out into their own .dlls, so please don't mis-read the size change of that one .dll as caused purely by bloat or unwanted/unnecessary features.
In terms of weight, yes, Pale Moon 28 is considerably heavier than Pale Moon 27. This is in part inevitable because of the web's demands and that added weight will always remain there. The re-forking has set us back in that respect because we've also adopted code we in fact don't need, but things can only go up and improve from here on out (since we will not do it again -- UXP is what it is). That is not something that can be done overnight; it will take many months, probably years, to unravel and untangle unnecessary code from necessary code due to Mozilla's gradual and piece-meal rearchitecturing to aim for e.g. electrolysis and their move to using Rust.
I'd also like to repeat that it has never been one of Pale Moon's goals to be light-weight. The primary goal has always been to be full-featured but efficient. We don't target particularly old hardware or particularly old operating systems for that very reason, and never have. That it as a side effect of its efficiency was very suitable for old systems is great of course, but not a focused goal. Overall, performance of Pale Moon 28 is better -- on targeted hardware. On old hardware you may find less acceleration because of the changes in the rendering engine, but that is not something that can be "rolled back".
So, please don't think we've fallen into any "trap" or that we have any intention of stacking on more and more useless code. In fact, note my signature quote which is true now more than ever:
Now, kindly take a step back and see what's been going on with the milestone changeover:
We've made a new fork of the Mozilla codebase for this release. This means that we have inherited a much larger codebase (24 million lines of code as opposed to 14 million lines) that we are working from. Mind you, a good portion of this is absolutely necessary to implement what the modern web demands of a web browser, and is not "bloat" at all (e.g. ECMAScript's JavaScript standard implementations, WebGL2, DOM specifications).
In addition, the XUL library is currently a monolithic library that has several others folded in that were separate in Pale Moon 27 (most notably media handling and the JavaScript engine). We have open issues to split those libraries back out into their own .dlls, so please don't mis-read the size change of that one .dll as caused purely by bloat or unwanted/unnecessary features.
In terms of weight, yes, Pale Moon 28 is considerably heavier than Pale Moon 27. This is in part inevitable because of the web's demands and that added weight will always remain there. The re-forking has set us back in that respect because we've also adopted code we in fact don't need, but things can only go up and improve from here on out (since we will not do it again -- UXP is what it is). That is not something that can be done overnight; it will take many months, probably years, to unravel and untangle unnecessary code from necessary code due to Mozilla's gradual and piece-meal rearchitecturing to aim for e.g. electrolysis and their move to using Rust.
I'd also like to repeat that it has never been one of Pale Moon's goals to be light-weight. The primary goal has always been to be full-featured but efficient. We don't target particularly old hardware or particularly old operating systems for that very reason, and never have. That it as a side effect of its efficiency was very suitable for old systems is great of course, but not a focused goal. Overall, performance of Pale Moon 28 is better -- on targeted hardware. On old hardware you may find less acceleration because of the changes in the rendering engine, but that is not something that can be "rolled back".
So, please don't think we've fallen into any "trap" or that we have any intention of stacking on more and more useless code. In fact, note my signature quote which is true now more than ever:
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.
Last edited by Moonchild on 2018-09-19, 08:37, edited 1 time in total.
"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
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
Re: XUL update made Pale Moon 28 at least 20% slower
IIRC Chrome will start in the background when you log in to your PC and will stay in memory after you close its last window in order to give the impression of faster startup. For the same reason it will also preload web pages that it think you will visit.palacs wrote:Chrome loads in 1.5 sec.
Re: XUL update made Pale Moon 28 at least 20% slower
Moonchild, I have a related question.
PM27 was based on noticeably older Firefox code, right? It worked fine (I guess?), but over time, lots of websites started to feel slow or even extremely slow to the point of being barely useable (like scrolling in channel list on Twitch, clickin on anything on FB or scrolling far into old posts on Twitter). I think one of the explanations was that the Firefox code evolved, and PM27 didn't have what websites currently require to function properly anymore.
Since this apparently wasn't possible to fix/add/improve/something to PM27, PM28 was forked from newer Firefox. That's fine, but... what are you going to do for this to not happen again? Since there won't be any newer Firefox to fork again, what will you do when "the code" evolves again, or rather when websites start to require something newer than what PM28 offers?
PM27 was based on noticeably older Firefox code, right? It worked fine (I guess?), but over time, lots of websites started to feel slow or even extremely slow to the point of being barely useable (like scrolling in channel list on Twitch, clickin on anything on FB or scrolling far into old posts on Twitter). I think one of the explanations was that the Firefox code evolved, and PM27 didn't have what websites currently require to function properly anymore.
Since this apparently wasn't possible to fix/add/improve/something to PM27, PM28 was forked from newer Firefox. That's fine, but... what are you going to do for this to not happen again? Since there won't be any newer Firefox to fork again, what will you do when "the code" evolves again, or rather when websites start to require something newer than what PM28 offers?
- billmcct
- Keeps coming back
- Posts: 959
- Joined: 2012-09-04, 15:19
- Location: Costa Rica & Union City Georgia USA
Re: XUL update made Pale Moon 28 at least 20% slower
I personally haven't experienced any type of slow downs using:
PM 28.0.1 32 bit
Win 7 64 bit
PM 28.0.1 32 bit
Win 7 64 bit
--------------------------------------------------------------------------------------------------------------
The difference between the Impossible and the Possible lies in a man's Determination.
Tommy Lasorda
The difference between the Impossible and the Possible lies in a man's Determination.
Tommy Lasorda
Re: XUL update made Pale Moon 28 at least 20% slower
Thankfully the JS "storm" is pretty much over. But, as you observed, things will continue to evolve. We were not far removed from being able to continue on Tycho, were it not for several landmark features we needed help with and despite bounties being available nobody, not a single person, was willing to help out with. With the re-fork and additional coding on top of that we are past that point, with all core features of ES6, ES2016 and ES2017 implemented, and we should be able to keep pace with any additions that are going to be made mostly as addenda -- things have slowed down considerably in terms of the essentials of scripting (thankfully -- the JS spec is already quite insane with what it has become, trying to provide just about all common-language paradigms in one).Octopuss wrote:That's fine, but... what are you going to do for this to not happen again? Since there won't be any newer Firefox to fork again, what will you do when "the code" evolves again, or rather when websites start to require something newer than what PM28 offers?
If the same situation occurs again, against all odds and expectations, and once again our community does not help out, then it will simply mean the end of the road. It's not up to just our ragtag band of specialists doing most of the core work. It's up to all of you to keep an eye out and help out where possible. This is a community project. If the community fails it, then the project will also fail.
That bleakest-of-outlooks aside though, I'm confident we're on the right track here
"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
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
- mr tribute
- Lunatic
- Posts: 334
- Joined: 2016-03-19, 23:24
Re: XUL update made Pale Moon 28 at least 20% slower
Very interesting information. Change is sometimes used as a weapon to push out smaller players. I am happy Firefox is still around so WebKit/Blink isn't the only rendering engine. When Opera used Presto some things didn't work correctly but both Firefox and Pale Moon work well despite not using WebKit/Blink.Moonchild wrote:Thankfully the JS "storm" is pretty much over. But, as you observed, things will continue to evolve. We were not far removed from being able to continue on Tycho, were it not for several landmark features we needed help with and despite bounties being available nobody, not a single person, was willing to help out with. With the re-fork and additional coding on top of that we are past that point, with all core features of ES6, ES2016 and ES2017 implemented, and we should be able to keep pace with any additions that are going to be made mostly as addenda -- things have slowed down considerably in terms of the essentials of scripting (thankfully -- the JS spec is already quite insane with what it has become, trying to provide just about all common-language paradigms in one).Octopuss wrote:That's fine, but... what are you going to do for this to not happen again? Since there won't be any newer Firefox to fork again, what will you do when "the code" evolves again, or rather when websites start to require something newer than what PM28 offers?
If the same situation occurs again, against all odds and expectations, and once again our community does not help out, then it will simply mean the end of the road. It's not up to just our ragtag band of specialists doing most of the core work. It's up to all of you to keep an eye out and help out where possible. This is a community project. If the community fails it, then the project will also fail.
That bleakest-of-outlooks aside though, I'm confident we're on the right track here
I think Pale Moon is pretty close to perfection. Version 28 seems more problematic on Windows than on Linux.
Re: XUL update made Pale Moon 28 at least 20% slower
And with today's update, it's quite likely your 20% "slower" has been mitigated.
"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
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
Re: XUL update made Pale Moon 28 at least 20% slower
Users of the "modern web" are not identical to users of Pale Moon. Users of the "modern web" should go with bloatware like Google Chrome or Mozilla Firefox. Pale Moon 27 can display all mainstream websites by now with all its functionality, including the new Gmail, new Messenger-looking Facebook, GitHub, news sites and a lot more other sites. Maybe there is a small portion of sites that were created by innovation idealist webdorks and thus has glitches with PM 27. However, it's unclear to me why you're sacrifising the speed and efficiency of PM 27 still working well at most websites, to the stability of the previously mentioned small portion. Btw, I hope you're not planning to adopt the new Rust idealism of Firefox. That would completely render the existence of Pale Moon useless.Moonchild wrote:a good portion of this is absolutely necessary to implement what the modern web demands of a web browser, and is not "bloat" at all
A great measurement of efficiency is to run Pale Moon on an old hardware. If it lags, produces slowdowns and takes a lot of seconds to load, it is not efficient. This is what divides bloatware from efficient software. Not its lightness but performance. And I'm not necessarily talking about memory footprint because it's not the No. 1 problem as you can put 4 GB of RAM even into more-than-ten-year-old Core Duo machines. The No. 1. problem is CPU bloat and inefficiency as it's much harder and more expensive to replace a CPU than it is to put in more memory. When you're adopting the code of lazy Firefox developers who patchwork their code on their latest and shiniest Intel i7 and AMD Ryzen nuclear power plants with 4-8 cores and 32 GB of RAM, you should think twice whether it should get into Pale Moon on an "it is what it is" basis. Of course they will not optimize anything for speed if they don't feel the slowness. If you want to keep Pale Moon efficient, it should be priority one to optimize the code you adopt if it's slow and the slowness can easily be detected by running it on old hardware.Moonchild wrote:I'd also like to repeat that it has never been one of Pale Moon's goals to be light-weight. The primary goal has always been to be full-featured but efficient.
It has not. PM 28.1.0 still starts in 7 seconds, while PM 27 does it in just 2. Let alone the bluish theme which is still annoying as hell and should not be there by default. Please remove it and restore the good old neutral grey theme that's been there for years.Moonchild wrote:And with today's update, it's quite likely your 20% "slower" has been mitigated.
Last edited by palacs on 2018-09-23, 16:58, edited 5 times in total.
- back2themoon
- Moon Magic practitioner
- Posts: 2410
- Joined: 2012-08-19, 20:32
Re: XUL update made Pale Moon 28 at least 20% slower
If I understand correctly:palacs wrote:lots of stuff
1. You know the nature of Pale Moon users.
2. You know about the intricate technical differences between PM27 and PM28.
3. You know how software in general should be tried and tested by developers, and what makes it efficient.
4. You know what would render Pale Moon useless.
5. You know that a default setting is annoying as hell and want it changed. I assume you also know it annoys all other users, too.
Is there a legitimate question somewhere in there, or is it all knowledge and demands?
(Note to anyone interested: it's my last reply in similar threads, which seem growing of late. I'll still try to help users, as always.)
Safe Mode / clean profile info: Help/Restart in Safe Mode
Information to include when asking for support - How to apply user agent overrides
How to auto-fill passwords
Windows 10 Pro x64
Information to include when asking for support - How to apply user agent overrides
How to auto-fill passwords
Windows 10 Pro x64
Re: XUL update made Pale Moon 28 at least 20% slower
UXP does not support Rust, see Issue #58 (uxp).palacs wrote:Btw, I hope you're not planning to adopt the new Rust idealism of Firefox.
It is the old hardware support that makes Pale Moon inefficient.palacs wrote:A great measurement of efficiency is to run Pale Moon on an old hardware. If it lags, produces slowdowns and takes a lot of seconds to load, it is not efficient.
Re: XUL update made Pale Moon 28 at least 20% slower
Pale Moon 27 has rather issues with big pages, especially the one's who require ES6 and angoing ECMAscript features. So no, it is rather the case that Pale Moon 27 has big compatibility issues with recent pages. And a lot of pages are either working only partly or not at all.palacs wrote:Pale Moon 27 can display all mainstream websites by now with all its functionality
If someone who would have been able to implement the missing core ECMAscript features in Pale Moon 27 would have found a way to implement them - then we still would have Pale Moon 27 around. But as there was none around who was able to do it or who wanted to do it, for this reason we have now Pale Moon 28 around with a new code base in use.
This is a community project as it was already mentioned in one way or another - to a certain degree the user itself is the one who decides where the journey is going or if the journey is on-going at all. So, you want Pale Moon 27 - fork the old repository, re-brand the browser and afterwards feel free to implement all missing ECMAscript features to bring it to the same level like Pale Moon 28 delivers out of the box - or find a way that someone else does this job for you, how you do that in the end.... that is up to you
Anyway - Point is, Pale Moon 27 is dead, as it was no longer fulfilling the requirements of today's web. And without that additional ECMAscript features, Pale Moon 27 even has issues with Github. There have been too many compatibility issues to use that code base any longer.
Last edited by Sajadi on 2018-09-23, 18:58, edited 10 times in total.
Re: XUL update made Pale Moon 28 at least 20% slower
Um, NO! A great measurement of efficiency is to run on the targeted hardware the way you want it to.palacs wrote:A great measurement of efficiency is to run Pale Moon on an old hardware. If it lags, produces slowdowns and takes a lot of seconds to load, it is not efficient. This is what divides bloatware from efficient software.;
It is very clearly noted that old hardware is no longer supported, and there are good reasons for this. As the
web has become more complicated and security risks have increased so has the code and resources required
to surf it. OLD HARDWARE was not designed to handle what is now required to surf properly without issues,
I.E. slow downs and glitches. Not to mention the issues with old drivers that were never designed to handle
what is now mainstream internet, video or a browser that needs code from newer hardware and it's drivers.
As for the color of the browser? Get a freaking life. That's what the themes are for.
And they are provided for you COMPLETELY FREE OF CHARGE.
Man, it must be world wide Troll week or something. I must have missed the memo.
Last edited by Thehandyman1957 on 2018-09-23, 18:59, edited 1 time in total.
Re: XUL update made Pale Moon 28 at least 20% slower
AHAHAHAHAHAHAHA!palacs wrote:Pale Moon 27 can display all mainstream websites by now with all its functionality
Please go back where you come from. You're quite obviously fairly delusional.
Not even PM28 is 100%, and it's much, much better than 27.
Re: XUL update made Pale Moon 28 at least 20% slower
Well, you know where you can report issuesOctopuss wrote:Not even PM28 is 100%, and it's much, much better than 27.
Last edited by Sajadi on 2018-09-23, 19:30, edited 1 time in total.
Re: XUL update made Pale Moon 28 at least 20% slower
Fixed the last part for you.back2themoon wrote:... Is there a legitimate question somewhere in there, or is it all knowledge and demands?palacs wrote:lots of stuff
(Note to anyone interested: it's my last reply in similar threads, which seem growing of late. I'll still try to help genuine users, as always.)
Re: XUL update made Pale Moon 28 at least 20% slower
That's absolutely not right. I have no issues with modern web at all including video (except some newer fonts on Windows XP). My hardware is from 2011-2012, and it works perfectly in any browser with any drivers, especially in Windows 7 and newer OS. So you're wrong.Thehandyman1957 wrote: ↑2018-09-23, 18:57OLD HARDWARE was not designed to handle what is now required to surf properly without issues,
I.E. slow downs and glitches. Not to mention the issues with old drivers that were never designed to handle
what is now mainstream internet, video or a browser that needs code from newer hardware and it's drivers.
Re: XUL update made Pale Moon 28 at least 20% slower
Man, 100% is not needed - you can always use Chrome where Pale Moon or its forks fail.
GitHub is not a marker at all - especially if you consider that it was recently sold to Microsoft, that wants everyone to update OS and browser on a regular basis. In fact the features that is has worked quite well without ES2018 language features of JavaScript (which is what breaks PM 27 in the fist place). Again, that featres ARE NOT NEEDED for the site to function properly. As for the new features - they are not big or very important, and can be implemented using ES2016 or even good old ES5 anyway.
Re: XUL update made Pale Moon 28 at least 20% slower
Please do not bump old threads.
Re: XUL update made Pale Moon 28 at least 20% slower
Off-topic:
Reminds me, I need to reinstate the auto-lock cron job.
Reminds me, I need to reinstate the auto-lock cron job.
"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
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite