/irc-logs / freenode / #whatwg / 2008-04-27 / end

Options:

  1. # Session Start: Sun Apr 27 00:00:00 2008
  2. # Session Ident: #whatwg
  3. # [00:02] * Quits: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
  4. # [00:03] * Joins: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
  5. # [00:04] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
  6. # [00:11] <jwalden> sigh
  7. # [00:12] * Quits: mcarter (n=mcarter@198.202.202.20) (Read error: 110 (Connection timed out))
  8. # [00:13] <Philip`> jwalden: Is that a sigh of "I used the wrong address for the WHATWG list again", or a different one?
  9. # [00:13] <jwalden> no
  10. # [00:13] <jwalden> see latest
  11. # [00:14] <jwalden> just the sigh of "isn't this stuff done yet?"
  12. # [00:15] <Philip`> Ah
  13. # [00:15] <Philip`> I guess one problem with addEventListener is that it won't work in IE8
  14. # [00:15] <jwalden> I feel like we're near a precipe past which we fall into bikeshedding
  15. # [00:15] <jwalden> and I don't know which side we're on
  16. # [00:15] <jwalden> what's new?
  17. # [00:15] <Philip`> and it'd be nice if people could write simple code that works in all implementations
  18. # [00:15] <othermaciej> I think people are familiar with using the attachEvent workaround for events in IE
  19. # [00:16] * Joins: jgraham (n=james@81-86-219-195.dsl.pipex.com)
  20. # [00:16] * Quits: hober (n=ted@unaffiliated/hober) ("ERC Version 5.3 (IRC client for Emacs)")
  21. # [00:19] <Philip`> Hmm, my canvas security-check tests give random results in WebKit
  22. # [00:19] <jwalden> nice!
  23. # [00:20] <othermaciej> random?
  24. # [00:20] <othermaciej> I didn't think we used an RNG for domain security checks
  25. # [00:20] <Philip`> It changes each time I reload the pages
  26. # [00:21] <Philip`> I'm not sure it's exactly a cryptographically-strong source of randomness, but it's not as constant as I'd like
  27. # [00:23] <Philip`> It only seems to happen when I run the tests inside iframes
  28. # [00:23] <Philip`> and only when they're on the local network, not over the internet
  29. # [00:23] <jwalden> darn
  30. # [00:23] <jwalden> that rules out my chance to reimplement Math.random
  31. # [00:26] <othermaciej> Philip`: oh, we have problems with reloads of frames off local disk sometime, could be that
  32. # [00:26] <othermaciej> but also we give local files universal access rights to all remote resources
  33. # [00:27] <Philip`> othermaciej: It's not local disk (except for maybe cached), it's across the (local) network
  34. # [00:27] <Philip`> Looks like a random one of the nine iframes on the page is allowed to called toDataURL on a tainted canvas
  35. # [00:28] <othermaciej> weird
  36. # [00:30] <Philip`> Hmm, either I was interpreting it wrong or it changed, since all but one are allowed to call toDataURL now that I've changed my tests around
  37. # [00:31] <Philip`> and now it's not happening at all
  38. # [00:35] <Philip`> Someone can have fun trying to debug this...
  39. # [00:37] <Philip`> Oh, now it does work over the internet for me
  40. # [00:38] <Philip`> Does anyone see http://philip.html5.org/misc/iframe-canvas-security/iframes.html not having nine identical iframes in WebKit?
  41. # [00:40] <jwalden> something trunk-like (a touch old) is showing nine frames each containing a single continuous yellow rectangle
  42. # [00:41] <Philip`> There should be either two yellow rectangles, or one plus a "data:image/png,..." line
  43. # [00:41] <jwalden> Firefox trunk is showing nine frames with two yellow rectangles each
  44. # [00:41] <jwalden> and JavaScript error: , line 0: uncaught exception: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "http://philip.html5.org/misc/iframe-canvas-security/06.html Line: 12"] in the console
  45. # [00:41] <jwalden> x9
  46. # [00:41] <Philip`> Firefox is giving the intended behaviour
  47. # [00:42] <othermaciej> the results randomly change for me when I reload
  48. # [00:42] <othermaciej> only one frame shows two rectangles and it changes which
  49. # [00:42] <Philip`> othermaciej: Aha, then it looks like I'm not crazy and it's a real bug
  50. # [00:42] <jwalden> so I assumed given seems consistent here
  51. # [00:42] <othermaciej> hello f a weird bug
  52. # [00:42] * jwalden updates tree, sees if that makes a dif
  53. # [00:43] <Philip`> jwalden: I'm not sure what would cause only a single yellow rectangle, unless you're using Safari 1 and don't have <canvas> support
  54. # [00:43] <hasather> Philip`: on first load, most of the upper squares were black, on reload everything is yellow
  55. # [00:43] <jwalden> no, this was a svn checkout that's no more than a month old, I think
  56. # [00:43] <Philip`> hasather: Oh, that sounds dodgy in a different way
  57. # [00:44] <hasather> Philip`: may be, it's WebKitGtk (r32531)
  58. # [00:44] <Philip`> (Argh, stupid non-existence of print-screen key on Apple keyboards...)
  59. # [00:45] <jwalden> swedish campground-shift-3 I think
  60. # [00:46] <hasather> jwalden: it's not for campgrounds ;)
  61. # [00:46] <Philip`> I'm using Windows so that doesn't work :-(
  62. # [00:47] <hasather> jwalden: although I see http://www.folklore.org/StoryView.py?project=Macintosh&story=Swedish_Campground.txt says that
  63. # [00:47] <jwalden> hasather: http://folklore.org/StoryView.py?story=Swedish_Campground.txt
  64. # [00:47] * Philip` tries remembering his password to report a bug
  65. # [00:47] <jwalden> jinx!
  66. # [00:49] <hasather> jwalden: it's mostly used for stuff like viking graves and things like that
  67. # [00:51] <Philip`> http://philip.html5.org/misc/iframe-canvas-security/webkit-r32574.png
  68. # [00:53] <Philip`> hasather: Ah, I can imagine WebKitGtk might have lots of differences - I'll have to add it to my test-results page some time
  69. # [00:53] <Philip`> (Still seems dodgy if it thinks drawing a yellow bitmap onto a transparent canvas results in black, though)
  70. # [00:58] * Quits: jgraham (n=james@81-86-219-195.dsl.pipex.com) ("I get eaten by the worms")
  71. # [00:59] * Quits: qwert666 (n=qwert666@acas178.neoplus.adsl.tpnet.pl) ("Leaving")
  72. # [01:01] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Remote closed the connection)
  73. # [01:03] <Hixie> jwalden: i'll change the spec to match whatever you decide on
  74. # [01:03] <Hixie> jwalden: firing at window is good with me
  75. # [01:04] <jwalden> dangt
  76. # [01:04] <jwalden> s/t/it/
  77. # [01:04] <jwalden> where'd othermaciej go?
  78. # [01:05] <jwalden> Hixie: still no bubbling, tho, to be clear?
  79. # [01:06] <Hixie> i'd rather it didn't bubble; it's like 'load' and other such "document-wide" events that don't bubble
  80. # [01:06] <jwalden> well, I suppose it doesn't really matter if it's on window, does it?
  81. # [01:06] <Hixie> indeed
  82. # [01:06] <jwalden> Hixie: I'm fine with it dispatching at window
  83. # [01:07] * jwalden goes to update those bloody tests again
  84. # [01:07] <Hixie> on the long term if we put it on window then that allows me to make the event dispatch to window and body like with, e.g., 'load', without breaking compat
  85. # [01:07] <Hixie> so i like the change
  86. # [01:07] <Hixie> i mostly was leaving it on document to not give you pain :-)
  87. # [01:08] <jwalden> this is pretty small pain, just search for addEventListener and message
  88. # [01:08] <jwalden> so it's not too bad
  89. # [01:19] <jwalden> and indeed, I think I'm done making the changes now :-)
  90. # [01:20] <jwalden> nearly, at least
  91. # [01:20] * jwalden curses multiple inheritance ambiguity
  92. # [01:22] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
  93. # [01:50] <Hixie> cool
  94. # [01:50] <Hixie> i'm playing twilight imperium 3 right now
  95. # [01:50] <Hixie> but when i get back home i'll send mail about it
  96. # [01:50] <jwalden> heh
  97. # [01:51] <jwalden> thanks
  98. # [01:51] * jwalden waits for recompile
  99. # [01:52] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  100. # [01:53] <jwalden> othermaciej: it's not so much the timing of the late-breaking changes that makes me sad as that they're going to make it very, very, very hard for anything like the original circumstances where postMessage got approval to land so late to ever happen again
  101. # [01:53] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
  102. # [01:53] <jwalden> othermaciej: I think if people had known the two sets of changes were going to happen after that, they'd have said no
  103. # [01:53] <jwalden> heck, *I* might even have said no
  104. # [01:54] <othermaciej> jwalden: I probably would have said yes to the postMessage work before Safari 3.1 even if I had known it would be followed by changes, because I think that level of engagement was part of what led to the changes
  105. # [01:54] <othermaciej> (and I think the changes that made us pull it were for the better)
  106. # [01:55] <othermaciej> I do understand that implementing features against an unstable spec, especially late in a dev cycle, can be disruptive
  107. # [01:55] <jwalden> I had the work all done for several months; it just wasn't in the tree because we were "past" feature freeze
  108. # [01:55] <jwalden> I don't mind the implementation
  109. # [01:55] <Philip`> jwalden: If the feature wasn't approved for FF3, how long would it be before it could be in a release?
  110. # [01:55] <jwalden> I don't know
  111. # [01:55] <jwalden> that's the other half of the matter
  112. # [01:55] <jwalden> as I understand it .next is supposed to be a quick turnaround, but I don't know how quick
  113. # [01:56] <Philip`> Is .next different from Mozilla 2?
  114. # [01:56] <jwalden> I *think* so
  115. # [01:56] <Philip`> Mozilla 2 has never sounded particularly likely for quick turnaround to me
  116. # [01:56] <jwalden> a 3.5, so to speak, with a few cherry-picked things
  117. # [01:56] <othermaciej> for Safari/WebKit I am expecting gaps of less than a year between releases with new engine features for the foreseeable future
  118. # [01:56] <Philip`> The whole "let's (automatically) rewrite all our code and change all our APIs" thing makes me a little nervous
  119. # [01:56] <jwalden> if it's not different from 2, then it's not a quick turnaround
  120. # [01:57] <jwalden> the change APIs thing is more, "we'll change where we've needed to change"
  121. # [01:57] <gavin_> Mozilla 2 work is being scoped back beyond the vague "rewrite everything" plans from 2 years ago
  122. # [01:57] * Philip` wonders if he might get canvas shadows into 3.5 :-)
  123. # [01:57] <jwalden> but yeah, I'm still not clear on exactly how everything's panning out
  124. # [01:57] <gavin_> and, that's expected, really
  125. # [01:57] <gavin_> Philip`: almost certainly
  126. # [01:58] <jwalden> reasonably self-contained feature-size things are generally what's in the plans
  127. # [01:58] <Philip`> Hmm, I did the shadow thing six months ago - I didn't realise it was that long :-/
  128. # [01:59] <Philip`> (and apparently it was feature freeze back then)
  129. # [01:59] <jwalden> so the 100K patch that adds stuff and doesn't have twisty interactions but is just too late to trust, is the prototypical "take"
  130. # [01:59] <jwalden> but no fundamental reworkings of anything
  131. # [01:59] <Philip`> That sounds quite sensible
  132. # [02:19] * Joins: othermaciej_ (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  133. # [02:19] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
  134. # [02:22] <Philip`> Hooray, I used the scientific method today
  135. # [02:23] <Philip`> There were about a hundred small flying insects sitting on the ceiling by the light above my bed this evening, so I hypothesised that they were attracted by lights
  136. # [02:24] <Philip`> so I turned that light off and pointed a desk lamp at a wall as far away as possible (about two metres) from my bed, and after several hours they've nearly all migrated to that wall
  137. # [02:24] <Philip`> so I think I'll consider my hypothesis to be true
  138. # [02:24] <Philip`> Also it means I can go to bed without being scared of insects dropping onto my head
  139. # [02:25] <othermaciej_> you can consider your hypothesis not falsified by your experiment
  140. # [02:25] <othermaciej_> (if you wanna be hardcore scientific method)
  141. # [02:25] <Philip`> I don't want to be that hardcore - I like to be able to believe that at least some things in this world are true, and aren't merely not known to be false :-)
  142. # [02:26] * othermaciej_ is now known as othermaciej
  143. # [02:31] * Joins: weinig (n=weinig@adsl-99-154-52-142.dsl.pltn13.sbcglobal.net)
  144. # [02:33] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  145. # [02:53] * Quits: Camaban (n=alee@85-211-181-63.dyn.gotadsl.co.uk) (Read error: 104 (Connection reset by peer))
  146. # [02:58] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
  147. # [03:05] * Quits: Dashiva (i=Dashiva@wikia/Dashiva)
  148. # [03:07] * Joins: BenMillard (i=cerbera@cpc1-flee1-0-0-cust285.glfd.cable.ntl.com)
  149. # [03:09] * Joins: Dashiva (n=noone@wikia/Dashiva)
  150. # [03:13] * Quits: Dashiva (n=noone@wikia/Dashiva) (Client Quit)
  151. # [03:14] * Joins: Dashiva (i=Dashiva@116.84-48-60.nextgentel.com)
  152. # [03:32] * Quits: Dashiva (i=Dashiva@wikia/Dashiva)
  153. # [03:35] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 110 (Connection timed out))
  154. # [03:36] <Philip`> https://bugs.webkit.org/show_bug.cgi?id=18762#c2 - oops, I guess I should have checked that
  155. # [03:41] * Quits: jwalden (n=waldo@STRATTON-THREE-THIRTY.MIT.EDU) (Remote closed the connection)
  156. # [03:44] * Joins: Dashiva (i=Dashiva@116.84-48-60.nextgentel.com)
  157. # [03:52] <weinig> Philip`: :)
  158. # [03:53] <weinig> Philip`: it took me a couple minutes to notice as well
  159. # [03:53] <weinig> Philip`: still, that is a bad bug
  160. # [03:57] <Philip`> weinig: I really should have realised that if it only had one yellow rectangle, the drawImage wasn't working
  161. # [03:58] <weinig> meh
  162. # [03:58] <weinig> Philip`: that is my job :)
  163. # [03:58] <Philip`> At least it is an actual bug, so I can still legitimately complain about it :-)
  164. # [03:58] <weinig> :)
  165. # [04:11] <Hixie> man, philip is still complaining about canvas
  166. # [04:12] <Hixie> i'm pretty sure that by now the spec has been fixed so many times because of his feedback that his complaints are actually complaints on his own earlier suggestions
  167. # [04:25] <Dashiva> You could have a live re-enactment of this one: http://ansuz.sooke.bc.ca/bonobo-conspiracy/?i=926
  168. # [04:25] * Joins: shepazu (n=schepers@218.246.74.90)
  169. # [04:27] <Philip`> Hixie: I think some of the cases are where I originally suggested something far too complex, and you changed the spec to say something near that but slightly too simple, so more feedback is needed, and hopefully it'll stop oscillating and settle on something nearly correct :-)
  170. # [04:27] <Hixie> :-)
  171. # [04:28] <Philip`> but sometimes I just change my mind and disagree with my former self
  172. # [04:28] <Philip`> and sometimes I disagree with my current self, but that's harder to sort out
  173. # [04:32] * Quits: tndH_ (i=Rob@adsl-87-102-79-4.karoo.KCOM.COM) ("ChatZilla 0.9.81-rdmsoft [XULRunner 1.8.0.9/2006120508]")
  174. # [04:33] * Parts: BenMillard (i=cerbera@cpc1-flee1-0-0-cust285.glfd.cable.ntl.com)
  175. # [04:40] * Quits: weinig (n=weinig@adsl-99-154-52-142.dsl.pltn13.sbcglobal.net)
  176. # [05:28] * Joins: htmlfivedotnet (n=dcostali@c-76-16-59-120.hsd1.il.comcast.net)
  177. # [05:28] <htmlfivedotnet> Hello all
  178. # [05:32] <htmlfivedotnet> I think that most on this channel are on a different time zone than me, and probably asleep by now, but I saw some grievance about my site, and wanted to settle it with those directly involved. Any and all problems or issues I am more than happy to fix
  179. # [05:46] <Hixie> heya
  180. # [05:46] <Hixie> i think so long as you comply with the license and give clear attribution, nobody is too worried
  181. # [05:46] <Hixie> also if you make money you should send us some goodies as thanks :-D
  182. # [05:46] * Joins: aroben (n=adamrobe@76.111.160.14)
  183. # [05:49] <htmlfivedotnet> after I saw annevk had already found my site, two days after purchase, i made sure to put that info at the top, as I saw you guys notice. It isn't that I hadn't planned to do so, it's just that it was and is still a WIP.
  184. # [05:49] <htmlfivedotnet> It looks like I'm going to have to modify the plugin to post the correct date, and have the correct linkback to the original post... which seems like it's going to be harder to do than i hoped
  185. # [05:51] <Hixie> heh
  186. # [05:52] <Hixie> welcome btw :-)
  187. # [05:53] <htmlfivedotnet> hey, thanks :-)
  188. # [05:57] <htmlfivedotnet> so am i missing something, or is this where the authors and contributors get together to discuss html5?
  189. # [05:57] <Hixie> yup, this is the whatwg irc channel
  190. # [05:57] <Hixie> but it's a weekend
  191. # [05:57] <Hixie> and 5am in europe
  192. # [06:00] <htmlfivedotnet> it sure is. that's a shame, I do my work at night. Hopefully I can still contribute in some way.
  193. # [06:46] * Joins: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp)
  194. # [06:57] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
  195. # [07:11] * Joins: wakaba (n=w@69.165.210.220.dy.bbexcite.jp)
  196. # [07:13] * Joins: wakaba_ (n=w@180.165.210.220.dy.bbexcite.jp)
  197. # [07:14] * Quits: csarven (n=csarven@modemcable130.251-202-24.mc.videotron.ca) ("http://www.csarven.ca/")
  198. # [07:18] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  199. # [07:28] * Joins: KevinMarks (n=KevinMar@c-98-207-134-151.hsd1.ca.comcast.net)
  200. # [07:30] * Quits: wakaba__ (n=w@151.164.210.220.dy.bbexcite.jp) (Read error: 110 (Connection timed out))
  201. # [07:31] * Quits: wakaba (n=w@69.165.210.220.dy.bbexcite.jp) (Read error: 113 (No route to host))
  202. # [08:33] * Quits: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp) (Read error: 110 (Connection timed out))
  203. # [08:48] * Joins: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp)
  204. # [09:29] * Joins: qwert666 (n=qwert666@acas178.neoplus.adsl.tpnet.pl)
  205. # [09:30] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 104 (Connection reset by peer))
  206. # [09:31] * Joins: sverrej (n=sverrej@89.10.27.86)
  207. # [09:53] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 104 (Connection reset by peer))
  208. # [09:54] * Joins: sverrej (n=sverrej@89.10.27.86)
  209. # [10:05] <annevk> Hmm, browsing through the XTech schedule I find this: http://2008.xtech.org/public/schedule/detail/653
  210. # [10:05] <annevk> That could be fun...
  211. # [10:06] <Hixie> i wish we could boil the oceans
  212. # [10:06] <Hixie> it would make the web such an easier place to code
  213. # [10:07] <Hixie> and silverlight is a much better boil-the-oceans solution than xhtml+xforms+svg, for sure
  214. # [10:08] * Joins: qwert666_ (n=qwert666@acau177.neoplus.adsl.tpnet.pl)
  215. # [10:16] * Quits: shepazu (n=schepers@218.246.74.90) (Read error: 110 (Connection timed out))
  216. # [10:24] * Quits: qwert666 (n=qwert666@acas178.neoplus.adsl.tpnet.pl) (Read error: 110 (Connection timed out))
  217. # [10:28] * Joins: shepazu (n=schepers@218.246.74.90)
  218. # [10:39] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
  219. # [10:45] * Parts: annevk (n=annevk@77.163.243.203)
  220. # [10:47] <Lachy> hey htmlfivedotnet, welcome.
  221. # [10:56] * Joins: ROBOd (n=robod@89.122.216.38)
  222. # [10:58] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/#dialogs
  223. # [11:26] * Joins: jgraham_ (n=jgraham@81-86-210-70.dsl.pipex.com)
  224. # [11:28] * Quits: jgraham__ (n=jgraham@81-86-219-195.dsl.pipex.com) (Read error: 110 (Connection timed out))
  225. # [11:39] * Joins: jgraham__ (n=jgraham@81-86-210-188.dsl.pipex.com)
  226. # [11:45] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
  227. # [11:48] <hendry> is there any <audio> hacks with Flash, in order to playback mp3/oggs in "legacy" browsers?
  228. # [11:49] <hsivonen> Philip`: so far it seems that switch-case block per tokenizer state is insanely bad on Java 5 PowerPC HotSpot client VM
  229. # [11:49] <hsivonen> like makes-you-want-to-cry bad
  230. # [11:49] * Quits: jgraham_ (n=jgraham@81-86-210-70.dsl.pipex.com) (Read error: 110 (Connection timed out))
  231. # [11:51] * Joins: maikmerten (n=maikmert@T7a44.t.pppool.de)
  232. # [11:51] <hsivonen> there should be like a 30x perf gain if the compiler did the right thing
  233. # [12:02] <hsivonen> Conceptually, both return and switch on enum should compile into a jump to an address
  234. # [12:03] <hsivonen> but it seems switch on enum is ridiculously slower than return
  235. # [12:12] * Quits: maikmerten (n=maikmert@T7a44.t.pppool.de) (Remote closed the connection)
  236. # [12:21] <hsivonen> hmm. after googling, I find that on Sun HotSpot 5, switch on enum is insanely bad compared to switch on int
  237. # [12:33] <Philip`> hsivonen: I've always assumed that enums are basically lists of static objects, so enum values are pointers and are only determined at runtime and it'd have to compile into "if (value == ONE) ... else if (value == TWO) ..." (or a binary search if the optimiser was really clever), so it makes some sense that that's much slower than a compile-time non-sparse integer switch table
  238. # [12:33] <Philip`> but my assumptions could be horribly wrong
  239. # [12:33] <Philip`> and I've never known how to attempt to validate my assumptions about how the JVM works :-(
  240. # [12:34] <hsivonen> Philip`: for switch enums map to ints. (check out 'ordinal' in a debugger)
  241. # [12:34] <hsivonen> Philip`: but it seems that the VM gets an array of the ordinals every time it enters the switch or something similarly insane
  242. # [12:35] <Philip`> Ah, okay
  243. # [12:36] <Philip`> Hixie: Did you change the IE icon used by the spec status annotation thing? (http://msdn2.microsoft.com/en-us/library/ms535205.new(en-us,VS.85).gif is now a star thing, which doesn't look like IE at all)
  244. # [12:36] * Joins: annevk (n=annevk@77.163.243.203)
  245. # [12:36] <hsivonen> Philip`: anyway, the code I wrote should have been the best-performing alternative if switch on enum was like jump to an address held in a variable
  246. # [12:37] <hsivonen> but it's nothing of the sort
  247. # [12:37] <annevk> installed hardy
  248. # [12:37] <hsivonen> so now I have to refactor some more with the assumption that using 'return' is a big win
  249. # [12:37] <annevk> apart from the bird i don't notice anything new
  250. # [12:37] * hsivonen installed hardy on Parallels
  251. # [12:38] <Philip`> hsivonen: Can't you switch on int, if that isn't so slow?
  252. # [12:38] <hsivonen> Philip`: I'm going to ints right about now
  253. # [12:38] <Philip`> Okay - it'll be interesting to see what happens :-)
  254. # [12:41] <annevk> ipodtouch update for 18 EUR is pretty neat
  255. # [12:43] <annevk> Hixie, maybe you should add a note that the "features" argument is not defined/used?
  256. # [12:48] <hsivonen> Philip`: avoiding enum gives me an 8% boost on Java 5 PPC client
  257. # [12:48] <hsivonen> the overall perf still sucks big time
  258. # [12:48] <Philip`> hsivonen: Hmm, that doesn't sound fantastic
  259. # [12:49] * Philip` wonders why it's so slow
  260. # [12:49] <hsivonen> looks like I should make read() a method again, so that the VM can do a fast jump on return
  261. # [12:49] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
  262. # [12:49] <Philip`> Do you have a profiler that can tell you where the JVM is spending all its time?
  263. # [12:49] <hsivonen> given that switch seems to suck badly
  264. # [12:49] <hsivonen> Philip`: I do
  265. # [12:50] <Philip`> (I know VTune can do that, but the output always seems pretty confusing, particularly since the program keeps getting recompiled at runtime)
  266. # [12:51] <hsivonen> also, if switch is expensive, I should probably reintroduce for(;;) { ... continue; ...} for staying in a state
  267. # [12:51] <hsivonen> if I make read a method again, that would be doable again
  268. # [12:51] <hsivonen> I want me some goto with memory address variables
  269. # [12:52] <Philip`> How would that work, when the JIT can keep changing the address of the code to execute?
  270. # [12:52] <hsivonen> pointers?
  271. # [12:53] <Philip`> Pointers to what?
  272. # [12:53] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  273. # [12:53] <hsivonen> pointers to VM managed code memory addresses
  274. # [12:53] <Philip`> Ah, that sounds plausible
  275. # [12:55] <hsivonen> it sucks how much juggling is needed to get fast jumps without goto
  276. # [12:55] <hsivonen> particularly is switch is not part of the arsenal
  277. # [12:55] <Philip`> switch is fast in C++ :-)
  278. # [12:56] <hsivonen> it could well be that the code I now would be fast in a line-by-line port to C++
  279. # [12:58] <hsivonen> I think I'm going to have to introduce duplicate code for states that can be entered with both "consume" and "reconsume" :-(
  280. # [12:58] <hsivonen> unless I split out methods
  281. # [13:00] <hsivonen> it also sucks that all kinds of config affects read()
  282. # [13:00] <hsivonen> so read() is full of conditionals
  283. # [13:00] <hsivonen> I bet this would be so much faster if the parser config happened at compile time
  284. # [13:02] <hsivonen> perhaps I should have an abstract class with read() and subclasses with implementation for each config combo..
  285. # [13:03] * Philip` is too used to C++, where virtual methods are scary and slow
  286. # [13:04] <hsivonen> or at least I should make the conditionals on final booleans instead of non-final enums
  287. # [13:04] <Philip`> but modern CPUs are too clever and have too many caches and things, so things I thought were true five years ago are even less likely to be actually true now :-(
  288. # [13:04] <hsivonen> although in ifs enum compare should be memory address compare
  289. # [13:05] <hsivonen> if anything, all this shows that HotSpot doesn't magically make any code fast but different refactoring do affect perf
  290. # [13:13] <Philip`> You just need to wait for the next version of HotSpot, which will magically make everything faster than C++
  291. # [13:13] <hsivonen> Actually, the above was on PPC HotSpot 5
  292. # [13:14] <hsivonen> next, I'm going to run test on x86 HotSpot 7ish
  293. # [13:14] <Philip`> Regardless of the version, it's always the next one that'll make code fast
  294. # [13:14] <hsivonen> I installed icedtea under Parallels
  295. # [13:15] <hsivonen> I wouldn't care if this was about as fast as Xerces, but it used to be 50% of Xerces perf
  296. # [13:15] <hsivonen> and now it's 5% of Xerces perf
  297. # [13:16] <hsivonen> so I think I should be able to do something that gives a ten-fold boost again
  298. # [13:16] <Philip`> Something other than 'svn revert'?
  299. # [13:16] <hsivonen> yeah. I want something that preserves desirable characteristics of this refactoring
  300. # [13:20] <hsivonen> but anyway, I now very much sympathize with Antlr devs wanting to go straight to bytecode
  301. # [13:21] <hsivonen> also, I now understand why Java XML parsers have a ton of methods instead of a huge switch
  302. # [13:23] <hsivonen> I wonder if using exception to break a loop is still bad
  303. # [13:24] <Philip`> I'm pretty sure exceptions are an area where Java beats C++, but that's because C++ is rubbish at them and I have no idea how significantly less rubbish Java is :-)
  304. # [13:26] <hsivonen> the tokenizer loop already has to be prepared to exit on ArrayIndexOutOfBoundsException, so I wonder if an additional exception is costly
  305. # [13:26] <hsivonen> I wonder if JVM hacker would be amused at this IRC log of discovery of what sucks and what doesn't suck on HotSpot
  306. # [13:27] <Philip`> Xerces-C has a particularly annoying issue where it throws an EndOfEntityException while parsing an XML file, and the Visual Studio deugger prints a message to the debug window whenever an exception is thrown, and the debug window is immensely slow (like ~10ms to print a single line), which makes anything using Xerces a lot go very slowly while debugging
  307. # [13:32] <Philip`> (I want to replace Xerces with a nicer XML parser in that program, but the problems are hidden for now since all the parsed XML gets cached into some custom binary-XML format, and there are always other more useful things to work on before replacing the XML parser...)
  308. # [13:46] * Joins: tndH_ (i=Rob@adsl-87-102-79-4.karoo.KCOM.COM)
  309. # [13:46] * tndH_ is now known as tndH
  310. # [13:50] * Joins: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com)
  311. # [13:55] <hsivonen> My test harness is available from http://about.validator.nu/htmlparser/perf.zip
  312. # [14:06] * Lachy is upgrading blog.whatwg.org
  313. # [14:08] <Lachy> WP 2.5 is awesome
  314. # [14:08] <Lachy> let me know if anything went wrong with the upgrade
  315. # [14:16] <Lachy> wow, it has automated plugin updating feature. All I have to do is click "update automatically" on each out of date plugin.
  316. # [14:23] * Joins: jgraham (n=james@81-86-210-188.dsl.pipex.com)
  317. # [14:23] * Quits: jgraham (n=james@81-86-210-188.dsl.pipex.com) (Client Quit)
  318. # [14:27] <hsivonen> I reuploaded an updated perf harness
  319. # [14:35] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
  320. # [14:35] <Philip`> Lachy: Hopefully that's not the version of 2.5 that lets any user register and give themselves an admin account? :-)
  321. # [14:36] <hsivonen> OpenJDK 6 HotSpot running under Parallels on my MacBook is much faster than my PowerMac G5
  322. # [14:37] <Philip`> What type of MacBook is that?
  323. # [14:37] <hsivonen> pro desktops get overtaken by non-pro laptops in under 3 years
  324. # [14:37] <hsivonen> Philip`: the middle one of the current lineup
  325. # [14:37] <hsivonen> 2.4 GHz Core 2 Duo
  326. # [14:38] <Philip`> Ah, that's a quite decent CPU :-)
  327. # [14:38] <hsivonen> the PowerMac is Dual 2.0 GHz G5
  328. # [14:38] <Philip`> though is your performance testing thing using >1 core?
  329. # [14:39] <hsivonen> it's single-threaded
  330. # [14:40] <Lachy> Philip`, it's the latest verstion available from wordpress.com
  331. # [14:40] <Lachy> so hopefully the fixed that bug
  332. # [14:41] <Philip`> Hmm, looks like (at least) the MBP lineup changed recently - the middle one was 2.4GHz/160GB not long ago, and is 2.5/250 now
  333. # [14:41] * Philip` wonders when that changed
  334. # [14:42] <Philip`> Oh, apparently two months ago
  335. # [14:43] <Lachy> Philip`, yeah, that's when they added multitouch to the MBPs just like the new MBAs
  336. # [14:43] <Philip`> Computers should stop getting better all the time :-(
  337. # [14:44] <Philip`> Lachy: I'd be happy enough if they just made the touchpad less totally rubbish under Windows
  338. # [14:45] <Lachy> Philip`, you shouldn't be running Windows on a Mac! That's just cruel.
  339. # [14:45] <Philip`> Lachy: But OS X hasn't done anything to make me like it, and I want to play games :-)
  340. # [14:45] <Lachy> but what's so rubbish about it?
  341. # [14:46] <Lachy> except that it can be a bit slow and insensitive at times.
  342. # [14:46] * Joins: jgraham (n=james@81-86-210-188.dsl.pipex.com)
  343. # [14:47] <Philip`> You can't touch to click; the scrolling thing is extremely sensitive to the orientation of your fingers, so it often goes up when you want it to go down; to right click you need two fingers and then click the button, but since the scrolling is very sensitive you end up scrolling instead of clicking
  344. # [14:47] <Philip`> I'm not sure if it's even possible to middle-click
  345. # [14:48] <Lachy> AFAIK, it's not possible to middle click on any touchpad
  346. # [14:48] <Lachy> but tap to click should work. It definitely works under OSX
  347. # [14:48] <Philip`> It is on my cheap HP with Linux - press left+right buttons together, or tap with two fingers
  348. # [14:48] <Philip`> (and three fingers for right-click)
  349. # [14:49] <Philip`> Lachy: The touchpad works far better under OS X (except for really slow acceleration that I haven't got used to) - it's just the Windows (Boot Camp) driver that is barely usable
  350. # [14:52] <Philip`> Oh, also the touchpad is directly under my (right) wrist when I'm playing a game with WASD controls, so I have to stick several layers of tissues over it to avoid it getting misinterpreted as intentional mouse movement
  351. # [14:53] <Lachy> do you use your right hand to use WASD controls, instead of your left?
  352. # [14:53] <Philip`> Yes
  353. # [14:53] <Philip`> since I use my mouse left-handed
  354. # [14:53] <Lachy> wow, that's crazy
  355. # [14:54] <Philip`> and remapping the controls is too much of a pain, since most games need dozens of keys
  356. # [14:54] <Philip`> (I'm not really left handed, since I write with my right)
  357. # [14:54] <Lachy> I can't operate a mouse at all with my left hand
  358. # [14:55] <Philip`> I can manage up/down/left/right/left-click with my right, but anything needing precise aiming is more of a pain
  359. # [14:56] <Philip`> (I tend to assume the only problem is practice, rather than some physical incapability, but I've never bothered trying to test that)
  360. # [14:58] <Philip`> Oh, also the MBP doesn't have a right mouse button, so I can't do the right-left or left-right mouse gestures in Opera, which is a pain
  361. # [14:58] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 104 (Connection reset by peer))
  362. # [14:59] <Lachy> Cmd+Left and Cmd+Right works well enough for that
  363. # [14:59] * Joins: ROBOd (n=robod@89.122.216.38)
  364. # [14:59] <Lachy> though it would be nice to have the multitouch touch pad that supports it natively
  365. # [15:00] * Joins: sverrej (n=sverrej@89.10.27.86)
  366. # [15:00] * Quits: jgraham (n=james@81-86-210-188.dsl.pipex.com) ("I get eaten by the worms")
  367. # [15:02] <Philip`> I'm thinking of the right-button-then-left-button thing, not the right-button-and-move-right-to-left thing - would multitouch support the former?
  368. # [15:03] <Lachy> multitouch supports 3-finger swipe on the touchpad
  369. # [15:04] <Lachy> I'm not sure if it works in Opera though, there are a few things that don't because it's a carbon app, not cocoa.
  370. # [15:04] * Quits: wakaba_ (n=w@180.165.210.220.dy.bbexcite.jp) ("CHOCOA")
  371. # [15:05] <Lachy> oh, wait, that's on mac. not windows
  372. # [15:05] <Lachy> I'm not sure how well the multitouch features would function in windows.
  373. # [15:08] * Joins: wakaba (n=w@180.165.210.220.dy.bbexcite.jp)
  374. # [15:27] * Joins: sverrej_ (n=sverrej@89.10.27.86)
  375. # [15:42] <hsivonen> Philip`: OK. Now I think I have benchmark data showing that switch in Java sucks
  376. # [15:42] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 113 (No route to host))
  377. # [15:42] <hsivonen> Philip`: so given a choice between private final methods and avoiding method invocation using switch, one should take the methods any day
  378. # [15:46] <hsivonen> http://pastebin.ca/999313
  379. # [15:59] <Philip`> hsivonen: I get 31240/17893/1679 for the three real runs over one minute on http://en.wikipedia.org/wiki/Main_Page on a 2.0GHz C2D with "Java(TM) SE Runtime Environment (build 1.6.0_05-b13)", "Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode)"
  380. # [15:59] <Philip`> so that seems to agree with your results
  381. # [16:02] <hsivonen> Philip`: thanks.
  382. # [16:02] <hsivonen> Philip`: re: profiling: the profiling measures execution time in methods
  383. # [16:03] <hsivonen> so it doesn't tell what exactly sucks inside the huge method
  384. # [16:03] <hsivonen> in general, though, isPrivateUse and isNonCharacter take way too much time
  385. # [16:04] <Philip`> VTune gives profiling data at the JITted x86 instruction level, which is sometimes a nicer way of looking at things
  386. # [16:05] * Joins: aroben (n=adamrobe@76.111.160.14)
  387. # [16:07] <hsivonen> how big a deal getting VTune and setting it up on Leopard or Hardy is? it looks like a for-pay product mainly for Windows.
  388. # [16:08] <hsivonen> mm. 700 dollars
  389. # [16:08] <hsivonen> not exactly cheap
  390. # [16:10] <Philip`> I just used the free evaluation version a few years ago on Windows
  391. # [16:10] <Philip`> so it's probably far from the best solution
  392. # [16:10] <Philip`> but I don't know what other tools implement the same kinds of features
  393. # [16:10] <Philip`> (I'm pretty sure there are some, I just have no idea what they're called)
  394. # [16:13] <hsivonen> I think it is pretty safe to conclude that given my findings and the Antlr page, switch sucks
  395. # [16:13] <hsivonen> so the next step I should take is using more return and continue without switch
  396. # [16:35] * Joins: jgraham (n=james@81-86-210-188.dsl.pipex.com)
  397. # [16:48] * Joins: dbaron (n=dbaron@c-67-160-251-228.hsd1.ca.comcast.net)
  398. # [16:55] * Quits: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com) (Read error: 110 (Connection timed out))
  399. # [17:03] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
  400. # [17:24] * Philip` reads the definition of arcTo, and wonders who to blame for it
  401. # [17:25] <Philip`> I suppose it's either me, or Hixie, or whoever wrote the equivalent function in OS X
  402. # [17:25] * Joins: csarven (n=csarven@modemcable130.251-202-24.mc.videotron.ca)
  403. # [17:50] * Joins: maikmerten (n=maikmert@T7a44.t.pppool.de)
  404. # [17:57] * Quits: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com) (Remote closed the connection)
  405. # [18:00] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  406. # [18:05] * Joins: sverrej__ (n=sverrej@89.10.27.86)
  407. # [18:06] * Quits: sverrej_ (n=sverrej@89.10.27.86) (Read error: 110 (Connection timed out))
  408. # [18:09] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  409. # [18:11] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  410. # [18:12] * Quits: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com) (Remote closed the connection)
  411. # [18:13] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  412. # [19:14] * Joins: tndH_ (i=Rob@83.100.253.115)
  413. # [19:16] * Quits: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
  414. # [19:22] * Joins: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com)
  415. # [19:23] * Joins: sverrej_ (n=sverrej@89.10.27.86)
  416. # [19:33] * Quits: tndH (i=Rob@adsl-87-102-79-4.karoo.KCOM.COM) (Read error: 110 (Connection timed out))
  417. # [19:36] * Quits: sverrej__ (n=sverrej@89.10.27.86) (Read error: 113 (No route to host))
  418. # [20:18] <virtuelv> some canvas neatness to rest your eyes on, http://www.p01.org/releases/DHTML_contests/files/20lines_twinkle/
  419. # [20:21] <Philip`> Much smoother in Firefox 3 than Opera 9.5 :-)
  420. # [20:21] <Philip`> (at least on Linux)
  421. # [20:22] <Philip`> Only seems to render the first frame in Konqueror 4, then stops
  422. # [20:23] <virtuelv> I don't notice much of a difference between Opera and FF here
  423. # [20:23] <virtuelv> moving the cursor modifies the animation
  424. # [20:23] <Philip`> Hmm, Safari 3.somethingold has the same problem as Konqueror
  425. # [20:24] <virtuelv> Yeah, I assume p01 has actually tested against Safari, possibly with a recentish nighly of WebKit
  426. # [20:25] <Philip`> Same problem (only draws one frame) in WebKit r32574 (from yesterday) on Windows
  427. # [20:29] <hasather> Philip`: looks like Safari has problems with CanvasRenderingContext2D.prototype
  428. # [20:29] <hasather> which has been discussed in this channel before
  429. # [20:30] <Philip`> hasather: Ah, that would make sense
  430. # [20:32] * qwert666_ is now known as qwert666
  431. # [20:32] <Philip`> http://philip.html5.org/tests/canvas/suite/tests/index.2d.type.html - hmm, Konqueror appears to do CanvasRenderingContext2D properly (whereas WebKit doesn't) but still doesn't work on that demo
  432. # [20:32] * Quits: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com) (Remote closed the connection)
  433. # [20:33] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  434. # [20:42] <hsivonen> I wonder what the relative frequencies of the tokenizer states preceding 'bogus doctype' are...
  435. # [20:42] <Philip`> hsivonen: You might be able to deduce it from http://canvex.lazyilluminati.com/misc/stats/tokeniser.html (for a somewhat old version of the spec)
  436. # [20:43] <Philip`> (It shows "current state: conditions that were true and will cause the relevant set of steps to execute")
  437. # [20:44] <Philip`> (where "true" is the "anything else" fallback when all other conditionals in that state have not matched)
  438. # [20:57] <hsivonen> Philip`: there's only one match for BogusDoctype
  439. # [20:58] <hsivonen> Philip`: I think I don't understand what I should look for
  440. # [21:09] <Philip`> hsivonen: You need to first find the places where the spec says to move to 'bogus doctype'
  441. # [21:09] <Philip`> e.g. the 'anything else' part of 'before doctype public identifier'
  442. # [21:10] <Philip`> and that part is named "BeforeDoctypePublicIdentifierState: true" in my table thingy (since "true" is the catch-all condition, which is used for "anything else")
  443. # [21:11] <Philip`> and that isn't in the list at all, so that never occurred in the HTML I was parsing, so that's not the best example
  444. # [21:13] <Philip`> Um, I can't actually find any in the list that are moving into bogus doctype state...
  445. # [21:14] <Philip`> (which is odd since it says there were 104 tokeniser steps inside bogus doctype state)
  446. # [21:14] <Philip`> (so I'm not entirely sure what's going on there)
  447. # [21:15] <Philip`> (Oh well)
  448. # [21:21] <Philip`> Conclusion: pages usually have about half a doctype, and a significant majority of those are non-bogus, so it's hard to get extensive data about bogosity, and I can't say anything more useful without having to do some work
  449. # [21:33] <hsivonen> Philip`: that probably also means that it's not a point worth optimizing.
  450. # [21:33] <hsivonen> thanks
  451. # [21:34] <Philip`> hsivonen: Unless someone has a pathological case of a whole page full of bogus doctypes, it seems like not the most critical area for performance
  452. # [21:46] * Quits: maikmerten (n=maikmert@T7a44.t.pppool.de) ("Leaving")
  453. # [22:06] <hsivonen> hmm. I refactored the code some more and now the perf sucks even more
  454. # [22:07] <hsivonen> the most reasonable expectation is that HotSpot isn't doing field-to-stack hoisting
  455. # [22:09] <hsivonen> s/expectation/explanation/
  456. # [22:27] * Quits: ROBOd (n=robod@89.122.216.38) (Remote closed the connection)
  457. # [22:34] * Joins: aroben (n=adamrobe@76.111.160.14)
  458. # [22:36] * Joins: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
  459. # [22:36] <hsivonen> if HotSpot isn't doing field-to-stack hoisting, so of my earlier conclusions are wrong
  460. # [22:39] * Quits: aroben (n=adamrobe@unaffiliated/aroben) (Client Quit)
  461. # [22:40] * Quits: sverrej_ (n=sverrej@89.10.27.86) (Read error: 110 (Connection timed out))
  462. # [22:41] * Joins: sverrej_ (n=sverrej@89.10.27.86)
  463. # [22:43] * Joins: weinig_ (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
  464. # [22:43] * Quits: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net) (Read error: 104 (Connection reset by peer))
  465. # [22:43] * weinig_ is now known as weinig
  466. # [22:45] * Joins: weinig_ (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
  467. # [22:46] * Quits: weinig_ (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net) (Read error: 104 (Connection reset by peer))
  468. # [22:46] * Joins: weinig_ (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
  469. # [22:47] * Joins: sverrej (n=sverrej@89.10.27.86)
  470. # [22:49] * Quits: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net) (Connection reset by peer)
  471. # [22:56] * Quits: weinig_ (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net) (Read error: 104 (Connection reset by peer))
  472. # [22:57] * Joins: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
  473. # [22:58] * Joins: Camaban (n=alee@85-211-181-63.dyn.gotadsl.co.uk)
  474. # [22:59] * Joins: sverrej__ (n=sverrej@89.10.27.86)
  475. # [23:06] * Quits: sverrej (n=sverrej@89.10.27.86) (Connection timed out)
  476. # [23:09] * Quits: sverrej_ (n=sverrej@89.10.27.86) (Read error: 113 (No route to host))
  477. # [23:15] * Joins: itpastorn (n=itpastor@139.57.227.87.static.th.siw.siwnet.net)
  478. # [23:21] * Quits: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com) ("Ex-Chat")
  479. # [23:26] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
  480. # [23:28] <Philip`> Whoops, using jQuery's 'wrap' method to nest forms is a bad idea, since it breaks (at least) Opera
  481. # [23:28] <Philip`> (by making the outer form end just before the inner form)
  482. # [23:28] <Philip`> (whereas it works fine in Firefox)
  483. # [23:28] * Philip` goes back to using plain ugly DOM methods to nest forms
  484. # [23:29] * Quits: tndH_ (i=Rob@83.100.253.115) (Read error: 104 (Connection reset by peer))
  485. # [23:38] * Joins: roc (n=roc@202.0.36.64)
  486. # [23:42] * Quits: dbaron (n=dbaron@c-67-160-251-228.hsd1.ca.comcast.net) ("8403864 bytes have been tenured, next gc will be global.")
  487. # [23:42] * Philip` thus finds that form.setAttribute('enctype') doesn't work in IE
  488. # [23:44] * Quits: itpastorn (n=itpastor@139.57.227.87.static.th.siw.siwnet.net) (Read error: 110 (Connection timed out))
  489. # [23:48] <hsivonen> I'm still amazed by the 10-fold difference in parser perf after the refactoring
  490. # [23:48] <hsivonen> somehow I suspect that the slow-down is due to something I've failed to consider and switch itself can't be *that* slow
  491. # [23:49] <hsivonen> could it be that the HotSpot simply avoids compiling the huge tokenization method?
  492. # [23:50] <Philip`> hsivonen: Does execution ever leave that method?
  493. # [23:50] <Philip`> Maybe it can't JIT methods while it's executing in the middle of them
  494. # [23:50] <hsivonen> Philip`: yes. and the FAQ says that HotSpot does on the stack replacement anyway
  495. # [23:51] <Philip`> Oh, okay
  496. # [23:51] <Philip`> http://forum.java.sun.com/thread.jspa?threadID=790229 - "There is an overriding size limit on methods that can get compiled. In 5.0, methods larger than 8000 bytes (of bytecode) are not considered for compilation."
  497. # [23:52] <Philip`> but then it says "Method size is not a compilation criterion, but it is an inlining criteria." so I'm not sure how that relates to the previous statement
  498. # [23:54] <jgraham> Can't you use DTrace to work out what' going on?
  499. # [23:54] <jgraham> http://java.sun.com/javase/6/docs/technotes/guides/vm/dtrace.html
  500. # [23:54] <jgraham> (that link is for DTrace + hotspot)
  501. # [23:54] <hsivonen> jgraham: I'd need Solaris to run that, wouldn't I?
  502. # [23:55] <hsivonen> since Linux doesn't have DTrace and OS X doesn't have Java 6
  503. # [23:55] <jgraham> hsivonen: I guess, if there's no way to get Java 6 on OS X
  504. # [23:55] <jgraham> Would OpenSolaris work?
  505. # [23:55] <hsivonen> jgraham: yeah, except for all the work of installing it
  506. # [23:56] * Philip` has a Solaris box
  507. # [23:56] <Philip`> but I think it's pretty old
  508. # [23:56] <Philip`> (I'm not sure how old it actually is but its uptime is 1030 days)
  509. # [23:57] <jgraham> hsivonen: They have a live CD
  510. # [23:57] <Philip`> (It's even got Java, but 1.4.0_03)
  511. # [23:58] <jgraham> Philip`: Almost the whole IoA runs on old solaris boxes (except, in practice lots of people just use personal machines instead)
  512. # [23:59] <jgraham> (fortunately I'm in a group that has its own computing budget and modern linux-running hardware)
  513. # Session Close: Mon Apr 28 00:00:00 2008

The end :)