tag:blogger.com,1999:blog-17722541.comments2023-10-30T12:41:52.941+01:00don't code today what you can't debug tomorrowAriya Hidayathttp://www.blogger.com/profile/03121582140059106015noreply@blogger.comBlogger1622125tag:blogger.com,1999:blog-17722541.post-14504992965510794852011-07-27T01:46:51.959+02:002011-07-27T01:46:51.959+02:00Ariya,
I am the Anonymous commenter from July 26,...Ariya,<br /><br />I am the Anonymous commenter from July 26, 2011 10:44 PM and July 26, 2011 10:49 PM. I did not know I could post with a name, which I am doing now. I am not Anonymous from July 27, 2011 1:10 AM.<br /><br />With that said I'd be happy to run the test on my webOS 3.0.0 TouchPad. I will figure out how to do that and start it as soon as possible. I'll post my results as soon as I'm done.Robnoreply@blogger.comtag:blogger.com,1999:blog-17722541.post-10383192958455737452011-07-26T22:01:46.006+02:002011-07-26T22:01:46.006+02:00@Girish: Yes, but the numbers are reserved for sma...@Girish: Yes, but the numbers are reserved for smart phone comparisons.Ariya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-61102272386330430832011-07-26T21:58:21.101+02:002011-07-26T21:58:21.101+02:00Do you have any numbers for the browser on the n95...Do you have any numbers for the browser on the n950?Girish Ramakrishnanhttps://www.blogger.com/profile/02472313207704163476noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-21781182661921276732011-07-14T18:01:36.167+02:002011-07-14T18:01:36.167+02:00@Chen: no, it's not.@Chen: no, it's not.Ariya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-48195368535548639692011-07-14T17:45:27.404+02:002011-07-14T17:45:27.404+02:00(rand5()+rand5()+rand5()+rand5()+rand5()+rand5()+r...(rand5()+rand5()+rand5()+rand5()+rand5()+rand5()+rand5())%7<br />Which should be uniformChennoreply@blogger.comtag:blogger.com,1999:blog-17722541.post-13643245421948051302011-07-07T09:59:07.295+02:002011-07-07T09:59:07.295+02:00No'am Rosenthal!! I am agree with you.
ThanksNo'am Rosenthal!! I am agree with you.<br />ThanksFree CRMhttp://www.leadmaster.co.nz/noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-8137772168834426022011-07-07T07:18:07.407+02:002011-07-07T07:18:07.407+02:00@Ariya: fair enough :)@Ariya: fair enough :)Noam Rosenthalhttps://www.blogger.com/profile/17465873293017250188noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-68197794569938216252011-07-07T01:35:35.486+02:002011-07-07T01:35:35.486+02:00@No'am: Thanks for the clarification. I blame ...@No'am: Thanks for the clarification. I blame it on you since you did not give me any Nokia N9 :)Ariya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-77597824954197068842011-07-07T01:24:16.853+02:002011-07-07T01:24:16.853+02:00@Ariya: yes, Qt 4.7 still uses the QGraphicsView b...@Ariya: yes, Qt 4.7 still uses the QGraphicsView backend. <br />But you mentioned the N9 as the first Nokia browser with accelerated composition, and that uses TextureMapper :)Noam Rosenthalhttps://www.blogger.com/profile/17465873293017250188noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-6410475179012685322011-07-06T17:46:14.767+02:002011-07-06T17:46:14.767+02:00@No'am: QGraphicsView is still the backend for...@No'am: QGraphicsView is still the backend for Qt 4.7's WebKit, isn't it? In all cases, looking forward to using TextureMapper!Ariya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-52188373589691767972011-07-06T16:14:30.331+02:002011-07-06T16:14:30.331+02:00Good post Ariya!
One correction: Qt doesn't us...Good post Ariya!<br />One correction: Qt doesn't use QGraphicsView for accelerated compositing anymore. We use <a href="http://qtwebkit.blogspot.com/2010/10/texture-mapper-accelerated-compositing.html" rel="nofollow">TextureMapper</a>, which does the work of mapping layers to textures inside WebCore in a cross-platform way, and is currently used in Qt and in a few small ports, like SDL AFAIK.Noam Rosenthalhttps://www.blogger.com/profile/17465873293017250188noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-44241412338448902062011-07-05T07:53:18.599+02:002011-07-05T07:53:18.599+02:00@Anonymous: Adding two random numbers does not pro...@Anonymous: Adding two random numbers does not produce uniform distribution, check other comments.Ariya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-8286666527615757252011-07-04T17:34:09.408+02:002011-07-04T17:34:09.408+02:00@elvis: It's a beautiful logo :) Thanks so muc...@elvis: It's a beautiful logo :) Thanks so muchAriya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-16194761742772432782011-07-03T23:22:50.466+02:002011-07-03T23:22:50.466+02:00Ariya thanks for this blog entry.
One question, w...Ariya thanks for this blog entry.<br /><br />One question, why do you choose to run rand twice? Can you not just run rand5 twice and throw out any invalid values?<br /><br />For example, assuming rand5 return 0 to 4, then<br /><br />int rand7() <br />{<br /> int result = rand5 + rand5;<br /> if (result <= 6)<br /> return result + 1;<br /> else<br /> return rand7();<br />}<br /><br />Wouldn't this return you back a uniformly distributed value between 1 and 7?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-17722541.post-31106503436452838062011-07-03T18:21:12.479+02:002011-07-03T18:21:12.479+02:00@Jay: Thanks, man!@Jay: Thanks, man!Ariya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-21213907494529153052011-07-03T18:08:35.515+02:002011-07-03T18:08:35.515+02:00Congrats on the new release dude!Congrats on the new release dude!Jay Garciahttps://www.blogger.com/profile/13998880106902192024noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-23838682045941298272011-07-03T05:21:58.109+02:002011-07-03T05:21:58.109+02:00This is exactly what I just recently implemented f...This is exactly what I just recently implemented for paint.net 4.0 using Direct2D. Layer composition is *finally* off the main UI thread. There be dragons in the details, but this is a really good explanation of it.Rick Brewsterhttps://www.blogger.com/profile/12375862890230179732noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-7751221310393703112011-07-02T09:27:20.977+02:002011-07-02T09:27:20.977+02:00Thanks for this! this always make me wonderThanks for this! this always make me wonderGaurav Mhttps://www.blogger.com/profile/04348862584375540106noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-48983832446129510822011-07-01T20:46:45.747+02:002011-07-01T20:46:45.747+02:00@TheUser: For native (non JS), you just follow the...@TheUser: For native (non JS), you just follow the previous blog entry I referred right in the beginning.Ariya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-44747509505022856072011-07-01T20:44:50.100+02:002011-07-01T20:44:50.100+02:00What is the result with C++ or ASM? There are many...What is the result with C++ or ASM? There are many things which may influence the JavaScript performance, we could probably understand it better if the CPU aspect matters if you would try it with C++ or ASM.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-17722541.post-46241555021547518882011-07-01T03:55:08.178+02:002011-07-01T03:55:08.178+02:00@e.v.e: Thanks for the comment, it's very insi...@e.v.e: Thanks for the comment, it's very insightful! And send my best to the rest of V8 team :)Ariya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-82602406147585104322011-06-30T23:21:51.345+02:002011-06-30T23:21:51.345+02:00Actually putting things into Float64Array will hel...Actually putting things into Float64Array will help on recent V8 (see results for http://jsperf.com/quaternion-multiplication/7). Float64Array is always better then normal array if you do math with doubles --- on V8 it means one less indirection.<br /><br />Regarding the factorized case. It suffers from increased register pressure. JIT has to work hard to do good register allocation. (I think in this case best register allocation requires quite complicated scheduling). On V8 due to some design decisions factorized case suffers excessive (non-factorized case uses 3 spill slots, factorized ~14) spilling (possibly into unaligned spill locations on ia32).Anonymoushttps://www.blogger.com/profile/13164706078167130240noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-720147845432911502011-06-30T19:52:59.886+02:002011-06-30T19:52:59.886+02:00@Benoit: I would be surprised if the factorized ve...@Benoit: I would be surprised if the factorized version can not be pipelined easily.<br /><br />But in all cases, here I'm talking about running the different approaches *not* straight on the CPU, but via JavaScript engines. There are other factors kicking in, including the boxed model of JS object, JIT compiler, and trace optimization.Ariya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-26260578029056265932011-06-30T19:43:03.188+02:002011-06-30T19:43:03.188+02:00Well, multiplications are not really more expensiv...Well, multiplications are not really more expensive than additions or substractions on CPUs made in the past 5 years at least. What does matter though is pipelining so you can run a (multiplication,addition) pair in 1 cycle on recent enough Intel CPUs. This is one of the reasons why fast matrix product algorithms (that do fewer multiplications, but a bit more additions/substractions with a less regular pattern) are generally not yet worth it on current CPUs; I'd suspect the same thing to be biting you here.Benoit Jacobhttp://blog.mozilla.com/bjacob/noreply@blogger.comtag:blogger.com,1999:blog-17722541.post-56644099264668613402011-06-30T18:01:00.687+02:002011-06-30T18:01:00.687+02:00@Shriram: The first solution rand7() "has zer...@Shriram: The first solution rand7() "has zero probability for generating numbers 6 and 7" which is perfectly fine if uniform distribution is not mandated. not uniform = no obligation to generate 6 or 7 or any others (regardless the range).Ariya Hidayathttps://www.blogger.com/profile/03121582140059106015noreply@blogger.com