speed improvment is very impressive

Discussion about official Mozilla Firefox builds
Post Reply
User avatar
orizng
Posts: 695
Joined: November 8th, 2002, 7:25 pm
Location: DALLAS,TX

Post by orizng »

I dont think PGO is enable for trunk yet, can I expect another 100% javascript improvement with PGO build?

If so, that would be fastest ever recorded. lol
Ted Mielczarek
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA
Contact:

Post by Ted Mielczarek »

We estimated ~25% faster depending on the profiling data etc. Hoping to get this enabled on trunk soon.
User avatar
Recall
Posts: 1686
Joined: November 7th, 2004, 11:07 am
Location: United Kingdom

Post by Recall »

Ted Mielczarek wrote:We estimated ~25% faster depending on the profiling data etc. Hoping to get this enabled on trunk soon.


What is PGO? Do you think you will be able to get to Safari 3.1 performance?
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9) Gecko/2008051206 Firefox/3.0
chob
Posts: 4283
Joined: May 17th, 2003, 12:05 pm
Location: London, UK

Post by chob »

PGO = profile guided optimization

a build is made, a load of test are done on it, then using that information a super optimized version of firefox gets built. or something like that, anyway.
User avatar
a;skdjfajf;ak
Posts: 17002
Joined: July 10th, 2004, 8:44 am

Post by a;skdjfajf;ak »

PGO has been checked in for Linux - Should be in the the next hourly I assume -
ColeTrickle
Posts: 55
Joined: October 8th, 2005, 8:53 pm

Post by ColeTrickle »

so pgo stands for profile guided optimization, but what does it mean? :P
User avatar
orizng
Posts: 695
Joined: November 8th, 2002, 7:25 pm
Location: DALLAS,TX

Post by orizng »

Recall wrote:
Ted Mielczarek wrote:We estimated ~25% faster depending on the profiling data etc. Hoping to get this enabled on trunk soon.


What is PGO? Do you think you will be able to get to Safari 3.1 performance?

Ted explained that PGO will probably not made into firefox 3 for Mac (It probably will in win/lin). http://forums.mozillazine.org/viewtopic ... 8&start=15

Anyway, its very close to safari "3.1" already, 6000 vs 4600ms, isn't a significant difference in real world. Javascript isn't everything, there are many other stuff as well, e.g., firefox 3 reads cache much faster than safari/webkit, which should give users more impact.
fadsxcv
Posts: 33
Joined: April 3rd, 2004, 12:41 am

Post by fadsxcv »

PGO means the compiler puts a ton of checks in the code to see which sections are "hot" (meaning which gets executed more frequently) and which sections are "cold". So after you "profile" the program by running it so these checks have a feel for what the program does in a typical run, it will then use this information to optimize the program better on the next compile.

Then the compiler does various things like rearranging code so nearby code is likely to be in the CPU's cache so it doesn't have to do expensive paging to load far away code, rearranging branches to work better with your CPU's branch prediction logic, unrolling vtable and function pointer lookups to remove levels of indirection, compile the "hot" code optimized for faster speed and compile the "cold" code optimized to minimize space usage, etc.
szhorvat
Posts: 208
Joined: November 3rd, 2005, 12:42 pm

Post by szhorvat »

Ted Mielczarek wrote:We estimated ~25% faster depending on the profiling data etc. Hoping to get this enabled on trunk soon.

Does this estimate refer to the Windows or the Linux version?
User avatar
wwhsgrad2002
Posts: 46
Joined: September 4th, 2003, 3:37 pm

Post by wwhsgrad2002 »

This is using the SunSpider JavaScript Benchmark on my T60 Laptop

On Firefox 2.0.0.12 (Clean Profile) Total: 17671.2ms +/- 0.9%
On Firefox 3.0 (Clean Profile, Latest Nightly): Total: 5966.2ms +/- 0.5%
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050918 Firefox/1.4 ID:2005091806
Ted Mielczarek
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA
Contact:

Post by Ted Mielczarek »

szhorvat wrote:
Ted Mielczarek wrote:We estimated ~25% faster depending on the profiling data etc. Hoping to get this enabled on trunk soon.

Does this estimate refer to the Windows or the Linux version?


Windows. I don't have numbers for Linux, but I don't think it's quite as spectacular. MSVC generates better code than GCC in general.
chob
Posts: 4283
Joined: May 17th, 2003, 12:05 pm
Location: London, UK

Post by chob »

wwhsgrad2002 wrote:This is using the SunSpider JavaScript Benchmark on my T60 Laptop

On Firefox 2.0.0.12 (Clean Profile) Total: 17671.2ms +/- 0.9%
On Firefox 3.0 (Clean Profile, Latest Nightly): Total: 5966.2ms +/- 0.5%

I don't know what build you used, but at 2008-02-25 16:59 Bug 419152 landed which is another javascript performance win. And there's still Igor's Specialized GC arena for double values to reland, which last time took Tssunspider tests from 550ms to 525ms. And PGO is still to be turned on, so more speed to come :)
User avatar
Recall
Posts: 1686
Joined: November 7th, 2004, 11:07 am
Location: United Kingdom

Post by Recall »

fadsxcv wrote:PGO means the compiler puts a ton of checks in the code to see which sections are "hot" (meaning which gets executed more frequently) and which sections are "cold". So after you "profile" the program by running it so these checks have a feel for what the program does in a typical run, it will then use this information to optimize the program better on the next compile.

Then the compiler does various things like rearranging code so nearby code is likely to be in the CPU's cache so it doesn't have to do expensive paging to load far away code, rearranging branches to work better with your CPU's branch prediction logic, unrolling vtable and function pointer lookups to remove levels of indirection, compile the "hot" code optimized for faster speed and compile the "cold" code optimized to minimize space usage, etc.


Thanks, so each subsequent start will produce a faster firefox?
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9) Gecko/2008051206 Firefox/3.0
chob
Posts: 4283
Joined: May 17th, 2003, 12:05 pm
Location: London, UK

Post by chob »

Recall wrote:Thanks, so each subsequent start will produce a faster firefox?

No, it's done at compile time, not run time.
User avatar
Recall
Posts: 1686
Joined: November 7th, 2004, 11:07 am
Location: United Kingdom

Post by Recall »

chob wrote:
Recall wrote:Thanks, so each subsequent start will produce a faster firefox?

No, it's done at compile time, not run time.


OK, so only helps if you build firefox yourself?
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9) Gecko/2008051206 Firefox/3.0
Post Reply