Palemoon Javascript Engine inline with firefox's?

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.
133794m3r

Palemoon Javascript Engine inline with firefox's?

Unread post by 133794m3r » 2016-11-09, 04:14

Here are some results from Kraken, and Octane(the two big ones that Iknow o that aim to test "real" world performance). I tested on Chromium, Firefox ESR and Palemoon.

Kraken results.
palemoon
Total: 1219.6ms +/- 1.6%
firefox ESR 45
1217.9ms +/- 1.3%
Chromium 53
Total: 1075.1ms +/- 0.5%

Kraken comparisons
Palemoon vs Firefox ESR
*1.46x as slow*

Palemoon vs Chromium
*1.65x as slow*

Octane results.
Palemoon Octane Score: 16135
Firefox ESR 45
Octane Score: 24950
Chromium 53
Octane Score: 24615

Comparison
Palemoon vs Firefox esr
1.55x as slow
Palemoon vs Chromium
1.53x as slow.


So is palemoon still basically using the firefox 29 javascript engine? Or is it still backporting or porting whichever you wish the javascript jit improvements. Is it still using jagermonkey as it's JIT engine and whatever the tracer/nonhot monkey engine was? Because that's the sole reason I can think of for the differene in performance I have the same addons on both browsers except palemoon ahs your panorama addon, and firefox esr doesn't have it but I seriously doubt that that single addon would represent such a huge performance gap when the browser is just siting there doing nothing else.

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

Re: Palemoon Javascript Engine inline with firefox's?

Unread post by Moonchild » 2016-11-09, 10:02

Please be aware that Mozilla uses benchmark tests to bias the compilation of code (they run benchmarks in the profiling run) which will result in a higher score in those benchmarks in the final binary but the cost of that is that it is no longer balanced for real-world use. And no, any pure JS, tight-loop benchmark like sunspider/kraken will not be real-world-comparative. No web script out there will have the kind of behavior the benchmarks use.
See also FAQ: viewtopic.php?f=24&t=650

As for what we use, we use jägermonkey for traced scripts, Ionmonkey for JIT and Odinmonkey for asm.js optimizations, similar to Firefox.
v27 will also include an overhaul of the JS engine to offer better performance, but our engine will still not be acting the same (due to our choices for garbage collection, among other things). Whether that will score higher or lower in benchmarks is unknown.
"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

133794m3r

Re: Palemoon Javascript Engine inline with firefox's?

Unread post by 133794m3r » 2016-11-09, 21:45

I also did octane which is supposed to do a similar thing to "real world" I no longer use sunspider as its literaly useless and I hope that the changes will help to improve the speed at least with chrome(ium) and I know thye do profiling builds but I seriously doubt that debian's build uses PGO as they swtill do -O2 for everything even programs that by default use -O3 they switch it back to -O2. The ESR was debian's build I know that PGO was benig used by mozilla's builds themselves.

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

Re: Palemoon Javascript Engine inline with firefox's?

Unread post by Moonchild » 2016-11-09, 22:02

Octane is still a tight-loop test that will only measure how fast a particular library can spit out code. Which website do you know that has a need to run through the same code, say, 50,000 times in a row or more? In addition, do you think it matters for users whether that takes 1.0 or 1.1 second?
Once more, please see the FAQ.
"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

137ben
Apollo supporter
Apollo supporter
Posts: 42
Joined: 2016-04-28, 21:40

Re: Palemoon Javascript Engine inline with firefox's?

Unread post by 137ben » 2016-11-18, 01:44

Pale Moon seems to do well on benchmarks which Mozilla has not specifically optimized for. Examples of benchmarks in which Pale Moon does better than Firefox include:

Apple's MotionMark benchmark on all my machines at least. Pale Moon also beats Waterfox. Chromium-based browsers tend to do even better, though, and of course WebKit does the best (because Apple has optimized WebKit for their own benchmarks.)
CanvasMark has Pale Moon nearly tied with Waterfox, and ahead of firefox.
Basemark's web benchmark is probably the most comprehensive synthetic browser-based benchmark currently, and it has Pale Moon trouncing Firefox and Waterfox on all my machines. (Blink scores the highest of the engines I have tested.)

JSBench is a synthetic Javascript-only benchmark that supposedly got its code from "real" websites. On my Windows-based laptop, Pale Moon actually scores the highest on this benchmark of any browser (higher than Firefox, Waterfox, IE, Edge, and the Chromium-based browsers). On all my Linux machines, Pale Moon comes in second behind Webkit-based browsers. (Apple has devoted a lot of energy to optimizing against JSBench, so it probably isn't fair to compare Safari/webkit scores on this benchmark to other browsers. In fact, Safari running on my old iPhone 5S does better on JSBench than all non-webkit browsers on my i7-powered laptop.)


The OORT Online WebGL benchmark measures the average frames per second as a browser renders scenes from a video game. It is supposedly a "real world" benchmark (in that it runs a program that people might actually want to run), but it still only tests one thing, and doesn't measure responsiveness of a browser engine under load (which is a really big deal for games.) It does avoid tight loops, though. Regardless of its faults, in my tests, Pale Moon regularly comes in second on this benchmark behind MS Edge (and PM is first on Linux, since Edge obviously isn't there.)

Microsoft's PenguinMark is a synthetic benchmark that MS developed in 2012 to "prove" how awesome Internet Explorer was. As far as I can tell, no browser developer outside of Microsoft took it seriously as an optimization goal for their browsers. Unsurprisingly, Microsoft's browsers win, by two orders of magnitude:
[quote=PenguinMark scores on my Win10 i7-4700MQ/Geforce 740 laptop]
MS Edge 14: 23367
IE 11: 7259
PM 26.5: 451
Chrome 52: 245
Waterfox 48: 161
FF 48 (32-bit): 131 [/quote]
Once again, Pale Moon wins among the browsers that aren't cheating on that particular benchmark.


Apple's Speedometer is another pure-javascript benchmark. This one allegedly (according to its authors) avoids tight loops. As an Apple benchmark, you will not be surprised to learn that Webkit beats the other Javascript engines, though V8 manages a strong second. Pale Moon beats Firefox and FF-based browsers on all my machines, though.

Finally, Google's Robohornet benchmark is a collection of microbenchmarks, many of which involve tight loops. Unlike most tight-loop-focused benchmarks (*cough Dromaeo cough Octane cough*), though, it does test a wide range of common website features that are largely absent from other benchmarks. On my computers, Pale Moon comes in either first (on Linux systems) or in a statistical tie for first with MS Edge (on Windows). PM is way ahead of Chrome and Firefox.

Hypocritically, a Mozilla developer filed an issue on Robohornet's Github repository demanding that it be shut down. The developer reasoned that it "contains microbenchmarks" which aren't "real-world," and therefore Google needs to remove the ability to run Robohornet. Which is hilarious, because every critique you can make of Robohornet applies at least as much to Dromaeo and Kracken, yet I don't see calls for Mozilla to shut those down.


But none of the benchmark results I just described matter.

Yes, it was mildly amusing for me to test every browser on every machine I have on a large number of benchmarks. Or, rather, it was mildly amusing to write scripts to automate the testing and then see what the results were. But the results aren't actually helpful in deciding which browser to use, for three reasons IMO:


1)None of the benchmarks measure CPU or memory usage. On low-end systems, resource consumption is at least as important as raw speed. Thus, these benchmarks have limited value on low-end or old computers.
2)On systems which are not low-end or old, modern hardware can render websites fast enough that you won't notice a difference with mere human perception. Thus, these benchmarks have no value outside of low-end hardware.
3)All of these benchmarks rely on the browser to measure its own performance, so I'm not sure if the scores are comparable accross different engines. One benchmark that I didn't mention above that almost certainly was affected by measuring errors is the CSS Stress Testing benchmark. This benchmark outputs a score in miliseconds (lower is better), and with two exceptions, every browser I tested got nearly the same score. On my Windows-based laptop, all but two browsers have an average score between 33.26 and 33.47 ms. That is, for all intents and purposes, a tie.
The outliers were IE 11 and Pale Moon. IE reports a score (averaged over all the times I ran the test) of 7.95 ms. Is IE really more than four times as the other browsers? I doubt it--I think it is just an error in the way the benchmark measures its score. The other outlier was Pale Moon, which achieves the "best" score: a measly 0.26 miliseconds!
When actually running the test, the real amount of time that past was not noticably less for PM or IE than for the other browsers, which leads me to believe the benchmarks' measurement is flawed.


TL:DR:
None of what I said in this giant wall of text matters at all. IMO, the browser benchmarks have little meaning to end-users except as a source of entertainment. I hope you were entertained by this post, since that's the only part of synthetic browser benchmarks that I care about 8-)
Last edited by 137ben on 2016-11-18, 01:49, edited 2 times in total.

137ben
Apollo supporter
Apollo supporter
Posts: 42
Joined: 2016-04-28, 21:40

Re: Palemoon Javascript Engine inline with firefox's?

Unread post by 137ben » 2016-11-18, 01:47

(And for anyone curious: I still have the data from all the browser benchmarks I tried in text files. I am not still maintaining the scripts I used to generate the data, nor do I have any interest in doing so again. There are other things I'd rather spend my time on now.)

Andrew Gilbertson

Re: Palemoon Javascript Engine inline with firefox's?

Unread post by Andrew Gilbertson » 2016-11-18, 15:31

137ben wrote:2)On systems which are not low-end or old, modern hardware can render websites fast enough that you won't notice a difference with mere human perception. Thus, these benchmarks have no value outside of low-end hardware.
And if you do notice a difference, it's probably because there's something else besides the browser interfering - some other process using up more resource, a problem in the network between you and the site you're contacting, another browser tab being open and having something going on, etc.

The only real test is "Which browser provides the best browsing experience in my opinion?" For me, the answer is Pale Moon. It's an opinion, so there's going to be disagreement - don't let that bug, just use the browser that provides you with the best browsing experience in your own opinion.