tag:blogger.com,1999:blog-18370581.post6629678641638030021..comments2023-10-22T07:00:56.359-07:00Comments on My open sourced activities: Open source browsers war: Mozilla and Webkit raw builds numbers on Maemo (ARM)Antoniohttp://www.blogger.com/profile/04983200610943093092noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-18370581.post-30272974020971664902009-05-17T22:40:00.000-07:002009-05-17T22:40:00.000-07:00Antonio, published results very inetresting and in...Antonio, published results very inetresting and informative. <br />Any plans to use jemalloc with WK?<br />Good luck..Vinay Hhttps://www.blogger.com/profile/09639909950338629884noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-53960191820935635812008-08-23T00:32:00.000-07:002008-08-23T00:32:00.000-07:00Here is the simple script which shows free memory ...Here is the simple script which shows free memory in the system:<BR/>.............................<BR/>#!/usr/bin/perl -w<BR/>$summ = 0;<BR/>open(FILE, "/proc/meminfo");<BR/>while(my $line = FILE)<BR/>{<BR/> $summ += $1 if ($line=~/MemFree\:\s+(\d+)\s/);<BR/> $summ += $1 if ($line=~/Buffers\:\s+(\d+)\s/);<BR/> $summ += $1 if ($line=~/Cached\:\s+(\d+)\s/);<BR/>}<BR/>close(FILE);<BR/>print ("SUMM = $summ\n");<BR/>.............................<BR/>FILE - should be in <><BR/><BR/>I was testing with next steps:<BR/>0) swap disabled, preferences for cache the same as in webkit.<BR/>1) open target browser about:blank<BR/>2) check free memory<BR/>3) load target page<BR/>4) check free memory<BR/>5) close browser<BR/>6) memory usage per page = 2) - 4)<BR/><BR/>This way of measuring will show very interesting results...<BR/><BR/>especially for pages such like hs.fi, iltalehti.fi ...romaxahttps://www.blogger.com/profile/13974589750800305409noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-16131920696687384812008-08-22T09:47:00.000-07:002008-08-22T09:47:00.000-07:00Configure line looks fine, except for the jemalloc...Configure line looks fine, except for the jemalloc stuff. I'll look into that. I thought that we were building fine on ARM with that now.<BR/><BR/>As for prefs, you can see the posts in about:mobile that have information on what to set. Also, have a look at the prefs in fennec that already have the right http pipeline depth. (Note those are being optimized for wireless access instead of desktop, so it's not clear what happens with a super-high bandwith connection.)<BR/><BR/>I would also point out that we spend a _tremendous_ amount of our rendering and measure time as a result of supporting pango. So if your current WK builds aren't using pango to render i18n pages, I would love to hear how you plan on getting around that (we have a backend that works pretty well and doesn't use pango at this point.) But I would also say that it's not even slightly fair to compare anything from page load time to memory usage. Because pango plays such a _huge_ part in those measurement.<BR/><BR/>Thanks for the followups, Antonio! And good luck with your current project! :)blizzardhttps://www.blogger.com/profile/11408184383214950242noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-27837795943707358462008-08-21T16:13:00.000-07:002008-08-21T16:13:00.000-07:00@ Johan - Perhaps, this is the bug:https://bugs.we...@ Johan - Perhaps, this is the bug:<BR/>https://bugs.webkit.org/show_bug.cgi?id=18546<BR/>IMO bug IS a limitation. Or the other way around - there are no limitations, just bugs.<BR/>;-)Anonymoushttps://www.blogger.com/profile/18400541285622607941noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-84367422596290696262008-08-21T14:49:00.002-07:002008-08-21T14:49:00.002-07:00Blizzard_6: Humm, you are right. Labels are change...Blizzard_6: Humm, you are right. Labels are changed. The higher one if the virtual memory. My bad, I will fix it and upload them again. Thanks.Antoniohttps://www.blogger.com/profile/04983200610943093092noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-2649853287743132632008-08-21T14:49:00.001-07:002008-08-21T14:49:00.001-07:00Blizzard_5: webkit used libcurl, as http stack. I ...Blizzard_5: webkit used libcurl, as http stack. I would really love to use fennec network/pipelining optimization while re-run the tests. Could you please point them out.<BR/>As said in the post, all webpages in the pageload test, asl well as acid3 and JS suite tests were locally stored in a Dell laptop, and accessible via adhoc network w/ the device.Antoniohttps://www.blogger.com/profile/04983200610943093092noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-73303469369605154512008-08-21T14:49:00.000-07:002008-08-21T14:49:00.000-07:00Blizzard_4: I will post the prefs used soon...Blizzard_4: I will post the prefs used soon...Antoniohttps://www.blogger.com/profile/04983200610943093092noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-23413701640211649392008-08-21T14:48:00.000-07:002008-08-21T14:48:00.000-07:00Leoz, Mark, Johan: I will check how to get fonts w...Leoz, Mark, Johan: I will check how to get fonts working (locale or encoding issue), and the tests should be more fair. Johan, could you help here ?Antoniohttps://www.blogger.com/profile/04983200610943093092noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-67115685079723613802008-08-21T14:47:00.000-07:002008-08-21T14:47:00.000-07:00Blizzard_2: "Also re-reading this post I'm a littl...Blizzard_2: "Also re-reading this post I'm a little surprised that you didn't open with the fact that while WK ran these tests a little bit faster it did so while running out of memory and mis-rendering pages on the web." <BR/><BR/>we considered that, that can explain webkit's faster results. I mentioned briefly something about it in the blogspot (see disclaimer, and conclusion sections), but should elaborate more ... Fonts misrendering is probably *the* problem here, and it makes harder to say which is best or faster, we did not even want to point it out either, but just put numbers we got off of raw builds out .Antoniohttps://www.blogger.com/profile/04983200610943093092noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-9301075934255056492008-08-21T14:45:00.000-07:002008-08-21T14:45:00.000-07:00Blizzard_1, I would really love to (and will) re-r...Blizzard_1, I would really love to (and will) re-run the tests w/ jemalloc enabled. Any working patch for bug 451193 ?<BR/><BR/>fwiw, this is the mozconfig I used to build:<BR/># Options for client.mk.<BR/>mk_add_options MOZ_BUILD_PROJECTS="xulrunner prism mobile"<BR/>mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-chinook<BR/><BR/># Global options<BR/>ac_add_options --disable-debug<BR/>ac_add_options --enable-optimize<BR/>ac_add_options --disable-tests<BR/>ac_add_options --disable-logging<BR/>ac_add_options --enable-strip<BR/>ac_add_options --disable-jemalloc<BR/>ac_add_options --disable-xmlextras<BR/>ac_add_options --disable-javaxpcom<BR/>#ac_cv_visibility_pragma=no<BR/>NS_OSSO=1<BR/><BR/># XULRunner options<BR/>ac_add_app_options xulrunner --enable-application=xulrunner<BR/>ac_add_app_options xulrunner --enable-extensions="softkb"<BR/>ac_add_app_options xulrunner --disable-installer<BR/># Enabling --with-arm-kuser implies Linux on ARM and enables kernel<BR/># optimizations for that platform<BR/>#ac_add_app_options xulrunner --with-arm-kuser<BR/><BR/># prism options<BR/>ac_add_app_options prism --enable-application=prism<BR/>ac_add_app_options prism --with-libxul-sdk=../xulrunner/dist<BR/><BR/># mobile options<BR/>ac_add_app_options mobile --enable-application=mobile<BR/>ac_add_app_options mobile --with-libxul-sdk=../xulrunner/dist<BR/><BR/># configure will be automatically generated using the 'autoconf-2.13'<BR/># command. If autoconf-2.13 isn't the right name for your system, as<BR/># is the case on OS X using MacPorts, use the real command name as<BR/># demonstrated below.<BR/>mk_add_options AUTOCONF=autoconf2.13Antoniohttps://www.blogger.com/profile/04983200610943093092noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-714419243076352892008-08-21T13:57:00.000-07:002008-08-21T13:57:00.000-07:00The fonts not rendered properly in WebKit is obvio...The fonts not rendered properly in WebKit is obviously either a bug or a misconfiguration, not a limitation of the engine.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-18370581.post-72476238170845084422008-08-21T12:50:00.000-07:002008-08-21T12:50:00.000-07:00@leonid - yeah, I see your point@leonid - yeah, I see your pointAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-18370581.post-67102349719733536192008-08-21T12:00:00.000-07:002008-08-21T12:00:00.000-07:00@Mark - It depends on what you really want to test...@Mark - It depends on what you really want to test. If the test target is to evaluate the page loading speed than all the pages in the test set shall be supported by the both engines on the identical manner. If one of the engines does not support some particular features of the pages provided like tags, fonts or embedded content than it will not spend any second on this unsupported contend and the page loading speed is faster for this engine.Anonymoushttps://www.blogger.com/profile/18400541285622607941noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-33314746553241183512008-08-21T11:18:00.000-07:002008-08-21T11:18:00.000-07:00We're a little confused about your use of "physica...We're a little confused about your use of "physical memory" and "virtual memory." Virtual memory should always be higher than physical memory but in your graphs they aren't. Have you tried using the ps_mem.py script? It does a pretty good job of actually telling what your heap + shared memory numbers are through the lifetime of a process.blizzardhttps://www.blogger.com/profile/11408184383214950242noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-72481857749839784342008-08-21T11:11:00.000-07:002008-08-21T11:11:00.000-07:00@leonid - what exactly is the point of removing pa...@leonid - what exactly is the point of removing pages from the test that webkit fails to render? shouldn't correctly rendering webpages be part of the test?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-18370581.post-9962785273191312462008-08-21T11:07:00.000-07:002008-08-21T11:07:00.000-07:00Also can you tell us what HTTP stack you were usin...Also can you tell us what HTTP stack you were using in WebKit (I think that it supports libsoup and/or libcurl?) We've been doing a lot of optimizations to our pipelining and http code in Fennec and I'm wondering if you set up your prefs to those new values? It would also help knowing what kind of connection you were running under. Was it WiFi or was it Bluetooth to GPRS or something else? We've done a lot of profiling with various types of networks and that data is starting to turn into code changes.<BR/><BR/>Thanks!blizzardhttps://www.blogger.com/profile/11408184383214950242noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-37887332000630758282008-08-21T11:04:00.000-07:002008-08-21T11:04:00.000-07:00Also, can you tell us what prefs you were using fo...Also, can you tell us what prefs you were using for TestGtkEmbed? When I did testing I made sure to make sure that I set the memory cache to the same size as the hard-coded WebKit value (8MB, iirc) and did things like disabled the disk cache because WebKit doesn't have one of those either.blizzardhttps://www.blogger.com/profile/11408184383214950242noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-63386999287744500912008-08-21T11:00:00.000-07:002008-08-21T11:00:00.000-07:00It seems like you can't really compare the two eng...It seems like you can't really compare the two engines in this case as it's clear that WebKit isn't really ready to render the web as it exists. Lots of tiny browsers have this problem - they go faster but they don't try to deal with all of the edge cases or fully support everything that's needed to actually render the whole web. And that's part of what makes a full-fledged engine a bit slower and bigger - it actually supports everything.blizzardhttps://www.blogger.com/profile/11408184383214950242noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-37246811387337129852008-08-21T10:33:00.000-07:002008-08-21T10:33:00.000-07:00IMO the pages that were not rendered properly by W...IMO the pages that were not rendered properly by WebKit shall be excluded from the test. A web engine spends significant amount of time for the non UTF-8 font rendering on pango/gtk platforms. While WebKit skips to render these fonts properly it may get some extra speed.Anonymoushttps://www.blogger.com/profile/18400541285622607941noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-35701092866823500522008-08-21T10:09:00.000-07:002008-08-21T10:09:00.000-07:00Also re-reading this post I'm a little surprised t...Also re-reading this post I'm a little surprised that you didn't open with the fact that while WK ran these tests a little bit faster it did so while running out of memory and mis-rendering pages on the web. It would seem that being able to render the web would be the first goal and doing so quickly would be second?blizzardhttps://www.blogger.com/profile/11408184383214950242noreply@blogger.comtag:blogger.com,1999:blog-18370581.post-25223813392714730692008-08-21T10:06:00.000-07:002008-08-21T10:06:00.000-07:00You should definitely re-run these tests with jema...You should definitely re-run these tests with jemalloc on since that will affect both performance and memory size. TestGtkEmbed should build with it and includes the proper link line to have it added in.<BR/><BR/>Also, what did you use to build the Mozilla engine? Did you change any optimizations on the configure line?blizzardhttps://www.blogger.com/profile/11408184383214950242noreply@blogger.com