speed improvment is very impressive
-
- Posts: 1269
- Joined: November 5th, 2002, 7:32 am
- Location: PA
- Contact:
- Recall
- Posts: 1686
- Joined: November 7th, 2004, 11:07 am
- Location: United Kingdom
-
- Posts: 4283
- Joined: May 17th, 2003, 12:05 pm
- Location: London, UK
- a;skdjfajf;ak
- Posts: 17002
- Joined: July 10th, 2004, 8:44 am
-
- Posts: 55
- Joined: October 8th, 2005, 8:53 pm
- orizng
- Posts: 695
- Joined: November 8th, 2002, 7:25 pm
- Location: DALLAS,TX
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.
-
- Posts: 33
- Joined: April 3rd, 2004, 12:41 am
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.
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.
- wwhsgrad2002
- Posts: 46
- Joined: September 4th, 2003, 3:37 pm
-
- Posts: 1269
- Joined: November 5th, 2002, 7:32 am
- Location: PA
- Contact:
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.
-
- Posts: 4283
- Joined: May 17th, 2003, 12:05 pm
- Location: London, UK
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
- Recall
- Posts: 1686
- Joined: November 7th, 2004, 11:07 am
- Location: United Kingdom
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
-
- Posts: 4283
- Joined: May 17th, 2003, 12:05 pm
- Location: London, UK
- Recall
- Posts: 1686
- Joined: November 7th, 2004, 11:07 am
- Location: United Kingdom