Options:
- # Session Start: Sun Apr 27 00:00:00 2008
- # Session Ident: #whatwg
- # [00:02] * Quits: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
- # [00:03] * Joins: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
- # [00:04] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
- # [00:11] <jwalden> sigh
- # [00:12] * Quits: mcarter (n=mcarter@198.202.202.20) (Read error: 110 (Connection timed out))
- # [00:13] <Philip`> jwalden: Is that a sigh of "I used the wrong address for the WHATWG list again", or a different one?
- # [00:13] <jwalden> no
- # [00:13] <jwalden> see latest
- # [00:14] <jwalden> just the sigh of "isn't this stuff done yet?"
- # [00:15] <Philip`> Ah
- # [00:15] <Philip`> I guess one problem with addEventListener is that it won't work in IE8
- # [00:15] <jwalden> I feel like we're near a precipe past which we fall into bikeshedding
- # [00:15] <jwalden> and I don't know which side we're on
- # [00:15] <jwalden> what's new?
- # [00:15] <Philip`> and it'd be nice if people could write simple code that works in all implementations
- # [00:15] <othermaciej> I think people are familiar with using the attachEvent workaround for events in IE
- # [00:16] * Joins: jgraham (n=james@81-86-219-195.dsl.pipex.com)
- # [00:16] * Quits: hober (n=ted@unaffiliated/hober) ("ERC Version 5.3 (IRC client for Emacs)")
- # [00:19] <Philip`> Hmm, my canvas security-check tests give random results in WebKit
- # [00:19] <jwalden> nice!
- # [00:20] <othermaciej> random?
- # [00:20] <othermaciej> I didn't think we used an RNG for domain security checks
- # [00:20] <Philip`> It changes each time I reload the pages
- # [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
- # [00:23] <Philip`> It only seems to happen when I run the tests inside iframes
- # [00:23] <Philip`> and only when they're on the local network, not over the internet
- # [00:23] <jwalden> darn
- # [00:23] <jwalden> that rules out my chance to reimplement Math.random
- # [00:26] <othermaciej> Philip`: oh, we have problems with reloads of frames off local disk sometime, could be that
- # [00:26] <othermaciej> but also we give local files universal access rights to all remote resources
- # [00:27] <Philip`> othermaciej: It's not local disk (except for maybe cached), it's across the (local) network
- # [00:27] <Philip`> Looks like a random one of the nine iframes on the page is allowed to called toDataURL on a tainted canvas
- # [00:28] <othermaciej> weird
- # [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
- # [00:31] <Philip`> and now it's not happening at all
- # [00:35] <Philip`> Someone can have fun trying to debug this...
- # [00:37] <Philip`> Oh, now it does work over the internet for me
- # [00:38] <Philip`> Does anyone see http://philip.html5.org/misc/iframe-canvas-security/iframes.html not having nine identical iframes in WebKit?
- # [00:40] <jwalden> something trunk-like (a touch old) is showing nine frames each containing a single continuous yellow rectangle
- # [00:41] <Philip`> There should be either two yellow rectangles, or one plus a "data:image/png,..." line
- # [00:41] <jwalden> Firefox trunk is showing nine frames with two yellow rectangles each
- # [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
- # [00:41] <jwalden> x9
- # [00:41] <Philip`> Firefox is giving the intended behaviour
- # [00:42] <othermaciej> the results randomly change for me when I reload
- # [00:42] <othermaciej> only one frame shows two rectangles and it changes which
- # [00:42] <Philip`> othermaciej: Aha, then it looks like I'm not crazy and it's a real bug
- # [00:42] <jwalden> so I assumed given seems consistent here
- # [00:42] <othermaciej> hello f a weird bug
- # [00:42] * jwalden updates tree, sees if that makes a dif
- # [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
- # [00:43] <hasather> Philip`: on first load, most of the upper squares were black, on reload everything is yellow
- # [00:43] <jwalden> no, this was a svn checkout that's no more than a month old, I think
- # [00:43] <Philip`> hasather: Oh, that sounds dodgy in a different way
- # [00:44] <hasather> Philip`: may be, it's WebKitGtk (r32531)
- # [00:44] <Philip`> (Argh, stupid non-existence of print-screen key on Apple keyboards...)
- # [00:45] <jwalden> swedish campground-shift-3 I think
- # [00:46] <hasather> jwalden: it's not for campgrounds ;)
- # [00:46] <Philip`> I'm using Windows so that doesn't work :-(
- # [00:47] <hasather> jwalden: although I see http://www.folklore.org/StoryView.py?project=Macintosh&story=Swedish_Campground.txt says that
- # [00:47] <jwalden> hasather: http://folklore.org/StoryView.py?story=Swedish_Campground.txt
- # [00:47] * Philip` tries remembering his password to report a bug
- # [00:47] <jwalden> jinx!
- # [00:49] <hasather> jwalden: it's mostly used for stuff like viking graves and things like that
- # [00:51] <Philip`> http://philip.html5.org/misc/iframe-canvas-security/webkit-r32574.png
- # [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
- # [00:53] <Philip`> (Still seems dodgy if it thinks drawing a yellow bitmap onto a transparent canvas results in black, though)
- # [00:58] * Quits: jgraham (n=james@81-86-219-195.dsl.pipex.com) ("I get eaten by the worms")
- # [00:59] * Quits: qwert666 (n=qwert666@acas178.neoplus.adsl.tpnet.pl) ("Leaving")
- # [01:01] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Remote closed the connection)
- # [01:03] <Hixie> jwalden: i'll change the spec to match whatever you decide on
- # [01:03] <Hixie> jwalden: firing at window is good with me
- # [01:04] <jwalden> dangt
- # [01:04] <jwalden> s/t/it/
- # [01:04] <jwalden> where'd othermaciej go?
- # [01:05] <jwalden> Hixie: still no bubbling, tho, to be clear?
- # [01:06] <Hixie> i'd rather it didn't bubble; it's like 'load' and other such "document-wide" events that don't bubble
- # [01:06] <jwalden> well, I suppose it doesn't really matter if it's on window, does it?
- # [01:06] <Hixie> indeed
- # [01:06] <jwalden> Hixie: I'm fine with it dispatching at window
- # [01:07] * jwalden goes to update those bloody tests again
- # [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
- # [01:07] <Hixie> so i like the change
- # [01:07] <Hixie> i mostly was leaving it on document to not give you pain :-)
- # [01:08] <jwalden> this is pretty small pain, just search for addEventListener and message
- # [01:08] <jwalden> so it's not too bad
- # [01:19] <jwalden> and indeed, I think I'm done making the changes now :-)
- # [01:20] <jwalden> nearly, at least
- # [01:20] * jwalden curses multiple inheritance ambiguity
- # [01:22] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [01:50] <Hixie> cool
- # [01:50] <Hixie> i'm playing twilight imperium 3 right now
- # [01:50] <Hixie> but when i get back home i'll send mail about it
- # [01:50] <jwalden> heh
- # [01:51] <jwalden> thanks
- # [01:51] * jwalden waits for recompile
- # [01:52] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [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
- # [01:53] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [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
- # [01:53] <jwalden> heck, *I* might even have said no
- # [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
- # [01:54] <othermaciej> (and I think the changes that made us pull it were for the better)
- # [01:55] <othermaciej> I do understand that implementing features against an unstable spec, especially late in a dev cycle, can be disruptive
- # [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
- # [01:55] <jwalden> I don't mind the implementation
- # [01:55] <Philip`> jwalden: If the feature wasn't approved for FF3, how long would it be before it could be in a release?
- # [01:55] <jwalden> I don't know
- # [01:55] <jwalden> that's the other half of the matter
- # [01:55] <jwalden> as I understand it .next is supposed to be a quick turnaround, but I don't know how quick
- # [01:56] <Philip`> Is .next different from Mozilla 2?
- # [01:56] <jwalden> I *think* so
- # [01:56] <Philip`> Mozilla 2 has never sounded particularly likely for quick turnaround to me
- # [01:56] <jwalden> a 3.5, so to speak, with a few cherry-picked things
- # [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
- # [01:56] <Philip`> The whole "let's (automatically) rewrite all our code and change all our APIs" thing makes me a little nervous
- # [01:56] <jwalden> if it's not different from 2, then it's not a quick turnaround
- # [01:57] <jwalden> the change APIs thing is more, "we'll change where we've needed to change"
- # [01:57] <gavin_> Mozilla 2 work is being scoped back beyond the vague "rewrite everything" plans from 2 years ago
- # [01:57] * Philip` wonders if he might get canvas shadows into 3.5 :-)
- # [01:57] <jwalden> but yeah, I'm still not clear on exactly how everything's panning out
- # [01:57] <gavin_> and, that's expected, really
- # [01:57] <gavin_> Philip`: almost certainly
- # [01:58] <jwalden> reasonably self-contained feature-size things are generally what's in the plans
- # [01:58] <Philip`> Hmm, I did the shadow thing six months ago - I didn't realise it was that long :-/
- # [01:59] <Philip`> (and apparently it was feature freeze back then)
- # [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"
- # [01:59] <jwalden> but no fundamental reworkings of anything
- # [01:59] <Philip`> That sounds quite sensible
- # [02:19] * Joins: othermaciej_ (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [02:19] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
- # [02:22] <Philip`> Hooray, I used the scientific method today
- # [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
- # [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
- # [02:24] <Philip`> so I think I'll consider my hypothesis to be true
- # [02:24] <Philip`> Also it means I can go to bed without being scared of insects dropping onto my head
- # [02:25] <othermaciej_> you can consider your hypothesis not falsified by your experiment
- # [02:25] <othermaciej_> (if you wanna be hardcore scientific method)
- # [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 :-)
- # [02:26] * othermaciej_ is now known as othermaciej
- # [02:31] * Joins: weinig (n=weinig@adsl-99-154-52-142.dsl.pltn13.sbcglobal.net)
- # [02:33] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [02:53] * Quits: Camaban (n=alee@85-211-181-63.dyn.gotadsl.co.uk) (Read error: 104 (Connection reset by peer))
- # [02:58] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [03:05] * Quits: Dashiva (i=Dashiva@wikia/Dashiva)
- # [03:07] * Joins: BenMillard (i=cerbera@cpc1-flee1-0-0-cust285.glfd.cable.ntl.com)
- # [03:09] * Joins: Dashiva (n=noone@wikia/Dashiva)
- # [03:13] * Quits: Dashiva (n=noone@wikia/Dashiva) (Client Quit)
- # [03:14] * Joins: Dashiva (i=Dashiva@116.84-48-60.nextgentel.com)
- # [03:32] * Quits: Dashiva (i=Dashiva@wikia/Dashiva)
- # [03:35] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 110 (Connection timed out))
- # [03:36] <Philip`> https://bugs.webkit.org/show_bug.cgi?id=18762#c2 - oops, I guess I should have checked that
- # [03:41] * Quits: jwalden (n=waldo@STRATTON-THREE-THIRTY.MIT.EDU) (Remote closed the connection)
- # [03:44] * Joins: Dashiva (i=Dashiva@116.84-48-60.nextgentel.com)
- # [03:52] <weinig> Philip`: :)
- # [03:53] <weinig> Philip`: it took me a couple minutes to notice as well
- # [03:53] <weinig> Philip`: still, that is a bad bug
- # [03:57] <Philip`> weinig: I really should have realised that if it only had one yellow rectangle, the drawImage wasn't working
- # [03:58] <weinig> meh
- # [03:58] <weinig> Philip`: that is my job :)
- # [03:58] <Philip`> At least it is an actual bug, so I can still legitimately complain about it :-)
- # [03:58] <weinig> :)
- # [04:11] <Hixie> man, philip is still complaining about canvas
- # [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
- # [04:25] <Dashiva> You could have a live re-enactment of this one: http://ansuz.sooke.bc.ca/bonobo-conspiracy/?i=926
- # [04:25] * Joins: shepazu (n=schepers@218.246.74.90)
- # [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 :-)
- # [04:27] <Hixie> :-)
- # [04:28] <Philip`> but sometimes I just change my mind and disagree with my former self
- # [04:28] <Philip`> and sometimes I disagree with my current self, but that's harder to sort out
- # [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]")
- # [04:33] * Parts: BenMillard (i=cerbera@cpc1-flee1-0-0-cust285.glfd.cable.ntl.com)
- # [04:40] * Quits: weinig (n=weinig@adsl-99-154-52-142.dsl.pltn13.sbcglobal.net)
- # [05:28] * Joins: htmlfivedotnet (n=dcostali@c-76-16-59-120.hsd1.il.comcast.net)
- # [05:28] <htmlfivedotnet> Hello all
- # [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
- # [05:46] <Hixie> heya
- # [05:46] <Hixie> i think so long as you comply with the license and give clear attribution, nobody is too worried
- # [05:46] <Hixie> also if you make money you should send us some goodies as thanks :-D
- # [05:46] * Joins: aroben (n=adamrobe@76.111.160.14)
- # [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.
- # [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
- # [05:51] <Hixie> heh
- # [05:52] <Hixie> welcome btw :-)
- # [05:53] <htmlfivedotnet> hey, thanks :-)
- # [05:57] <htmlfivedotnet> so am i missing something, or is this where the authors and contributors get together to discuss html5?
- # [05:57] <Hixie> yup, this is the whatwg irc channel
- # [05:57] <Hixie> but it's a weekend
- # [05:57] <Hixie> and 5am in europe
- # [06:00] <htmlfivedotnet> it sure is. that's a shame, I do my work at night. Hopefully I can still contribute in some way.
- # [06:46] * Joins: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp)
- # [06:57] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
- # [07:11] * Joins: wakaba (n=w@69.165.210.220.dy.bbexcite.jp)
- # [07:13] * Joins: wakaba_ (n=w@180.165.210.220.dy.bbexcite.jp)
- # [07:14] * Quits: csarven (n=csarven@modemcable130.251-202-24.mc.videotron.ca) ("http://www.csarven.ca/")
- # [07:18] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [07:28] * Joins: KevinMarks (n=KevinMar@c-98-207-134-151.hsd1.ca.comcast.net)
- # [07:30] * Quits: wakaba__ (n=w@151.164.210.220.dy.bbexcite.jp) (Read error: 110 (Connection timed out))
- # [07:31] * Quits: wakaba (n=w@69.165.210.220.dy.bbexcite.jp) (Read error: 113 (No route to host))
- # [08:33] * Quits: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp) (Read error: 110 (Connection timed out))
- # [08:48] * Joins: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp)
- # [09:29] * Joins: qwert666 (n=qwert666@acas178.neoplus.adsl.tpnet.pl)
- # [09:30] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 104 (Connection reset by peer))
- # [09:31] * Joins: sverrej (n=sverrej@89.10.27.86)
- # [09:53] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 104 (Connection reset by peer))
- # [09:54] * Joins: sverrej (n=sverrej@89.10.27.86)
- # [10:05] <annevk> Hmm, browsing through the XTech schedule I find this: http://2008.xtech.org/public/schedule/detail/653
- # [10:05] <annevk> That could be fun...
- # [10:06] <Hixie> i wish we could boil the oceans
- # [10:06] <Hixie> it would make the web such an easier place to code
- # [10:07] <Hixie> and silverlight is a much better boil-the-oceans solution than xhtml+xforms+svg, for sure
- # [10:08] * Joins: qwert666_ (n=qwert666@acau177.neoplus.adsl.tpnet.pl)
- # [10:16] * Quits: shepazu (n=schepers@218.246.74.90) (Read error: 110 (Connection timed out))
- # [10:24] * Quits: qwert666 (n=qwert666@acas178.neoplus.adsl.tpnet.pl) (Read error: 110 (Connection timed out))
- # [10:28] * Joins: shepazu (n=schepers@218.246.74.90)
- # [10:39] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
- # [10:45] * Parts: annevk (n=annevk@77.163.243.203)
- # [10:47] <Lachy> hey htmlfivedotnet, welcome.
- # [10:56] * Joins: ROBOd (n=robod@89.122.216.38)
- # [10:58] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/#dialogs
- # [11:26] * Joins: jgraham_ (n=jgraham@81-86-210-70.dsl.pipex.com)
- # [11:28] * Quits: jgraham__ (n=jgraham@81-86-219-195.dsl.pipex.com) (Read error: 110 (Connection timed out))
- # [11:39] * Joins: jgraham__ (n=jgraham@81-86-210-188.dsl.pipex.com)
- # [11:45] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [11:48] <hendry> is there any <audio> hacks with Flash, in order to playback mp3/oggs in "legacy" browsers?
- # [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
- # [11:49] <hsivonen> like makes-you-want-to-cry bad
- # [11:49] * Quits: jgraham_ (n=jgraham@81-86-210-70.dsl.pipex.com) (Read error: 110 (Connection timed out))
- # [11:51] * Joins: maikmerten (n=maikmert@T7a44.t.pppool.de)
- # [11:51] <hsivonen> there should be like a 30x perf gain if the compiler did the right thing
- # [12:02] <hsivonen> Conceptually, both return and switch on enum should compile into a jump to an address
- # [12:03] <hsivonen> but it seems switch on enum is ridiculously slower than return
- # [12:12] * Quits: maikmerten (n=maikmert@T7a44.t.pppool.de) (Remote closed the connection)
- # [12:21] <hsivonen> hmm. after googling, I find that on Sun HotSpot 5, switch on enum is insanely bad compared to switch on int
- # [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
- # [12:33] <Philip`> but my assumptions could be horribly wrong
- # [12:33] <Philip`> and I've never known how to attempt to validate my assumptions about how the JVM works :-(
- # [12:34] <hsivonen> Philip`: for switch enums map to ints. (check out 'ordinal' in a debugger)
- # [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
- # [12:35] <Philip`> Ah, okay
- # [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)
- # [12:36] * Joins: annevk (n=annevk@77.163.243.203)
- # [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
- # [12:37] <hsivonen> but it's nothing of the sort
- # [12:37] <annevk> installed hardy
- # [12:37] <hsivonen> so now I have to refactor some more with the assumption that using 'return' is a big win
- # [12:37] <annevk> apart from the bird i don't notice anything new
- # [12:37] * hsivonen installed hardy on Parallels
- # [12:38] <Philip`> hsivonen: Can't you switch on int, if that isn't so slow?
- # [12:38] <hsivonen> Philip`: I'm going to ints right about now
- # [12:38] <Philip`> Okay - it'll be interesting to see what happens :-)
- # [12:41] <annevk> ipodtouch update for 18 EUR is pretty neat
- # [12:43] <annevk> Hixie, maybe you should add a note that the "features" argument is not defined/used?
- # [12:48] <hsivonen> Philip`: avoiding enum gives me an 8% boost on Java 5 PPC client
- # [12:48] <hsivonen> the overall perf still sucks big time
- # [12:48] <Philip`> hsivonen: Hmm, that doesn't sound fantastic
- # [12:49] * Philip` wonders why it's so slow
- # [12:49] <hsivonen> looks like I should make read() a method again, so that the VM can do a fast jump on return
- # [12:49] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [12:49] <Philip`> Do you have a profiler that can tell you where the JVM is spending all its time?
- # [12:49] <hsivonen> given that switch seems to suck badly
- # [12:49] <hsivonen> Philip`: I do
- # [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)
- # [12:51] <hsivonen> also, if switch is expensive, I should probably reintroduce for(;;) { ... continue; ...} for staying in a state
- # [12:51] <hsivonen> if I make read a method again, that would be doable again
- # [12:51] <hsivonen> I want me some goto with memory address variables
- # [12:52] <Philip`> How would that work, when the JIT can keep changing the address of the code to execute?
- # [12:52] <hsivonen> pointers?
- # [12:53] <Philip`> Pointers to what?
- # [12:53] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [12:53] <hsivonen> pointers to VM managed code memory addresses
- # [12:53] <Philip`> Ah, that sounds plausible
- # [12:55] <hsivonen> it sucks how much juggling is needed to get fast jumps without goto
- # [12:55] <hsivonen> particularly is switch is not part of the arsenal
- # [12:55] <Philip`> switch is fast in C++ :-)
- # [12:56] <hsivonen> it could well be that the code I now would be fast in a line-by-line port to C++
- # [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" :-(
- # [12:58] <hsivonen> unless I split out methods
- # [13:00] <hsivonen> it also sucks that all kinds of config affects read()
- # [13:00] <hsivonen> so read() is full of conditionals
- # [13:00] <hsivonen> I bet this would be so much faster if the parser config happened at compile time
- # [13:02] <hsivonen> perhaps I should have an abstract class with read() and subclasses with implementation for each config combo..
- # [13:03] * Philip` is too used to C++, where virtual methods are scary and slow
- # [13:04] <hsivonen> or at least I should make the conditionals on final booleans instead of non-final enums
- # [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 :-(
- # [13:04] <hsivonen> although in ifs enum compare should be memory address compare
- # [13:05] <hsivonen> if anything, all this shows that HotSpot doesn't magically make any code fast but different refactoring do affect perf
- # [13:13] <Philip`> You just need to wait for the next version of HotSpot, which will magically make everything faster than C++
- # [13:13] <hsivonen> Actually, the above was on PPC HotSpot 5
- # [13:14] <hsivonen> next, I'm going to run test on x86 HotSpot 7ish
- # [13:14] <Philip`> Regardless of the version, it's always the next one that'll make code fast
- # [13:14] <hsivonen> I installed icedtea under Parallels
- # [13:15] <hsivonen> I wouldn't care if this was about as fast as Xerces, but it used to be 50% of Xerces perf
- # [13:15] <hsivonen> and now it's 5% of Xerces perf
- # [13:16] <hsivonen> so I think I should be able to do something that gives a ten-fold boost again
- # [13:16] <Philip`> Something other than 'svn revert'?
- # [13:16] <hsivonen> yeah. I want something that preserves desirable characteristics of this refactoring
- # [13:20] <hsivonen> but anyway, I now very much sympathize with Antlr devs wanting to go straight to bytecode
- # [13:21] <hsivonen> also, I now understand why Java XML parsers have a ton of methods instead of a huge switch
- # [13:23] <hsivonen> I wonder if using exception to break a loop is still bad
- # [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 :-)
- # [13:26] <hsivonen> the tokenizer loop already has to be prepared to exit on ArrayIndexOutOfBoundsException, so I wonder if an additional exception is costly
- # [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
- # [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
- # [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...)
- # [13:46] * Joins: tndH_ (i=Rob@adsl-87-102-79-4.karoo.KCOM.COM)
- # [13:46] * tndH_ is now known as tndH
- # [13:50] * Joins: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com)
- # [13:55] <hsivonen> My test harness is available from http://about.validator.nu/htmlparser/perf.zip
- # [14:06] * Lachy is upgrading blog.whatwg.org
- # [14:08] <Lachy> WP 2.5 is awesome
- # [14:08] <Lachy> let me know if anything went wrong with the upgrade
- # [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.
- # [14:23] * Joins: jgraham (n=james@81-86-210-188.dsl.pipex.com)
- # [14:23] * Quits: jgraham (n=james@81-86-210-188.dsl.pipex.com) (Client Quit)
- # [14:27] <hsivonen> I reuploaded an updated perf harness
- # [14:35] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
- # [14:35] <Philip`> Lachy: Hopefully that's not the version of 2.5 that lets any user register and give themselves an admin account? :-)
- # [14:36] <hsivonen> OpenJDK 6 HotSpot running under Parallels on my MacBook is much faster than my PowerMac G5
- # [14:37] <Philip`> What type of MacBook is that?
- # [14:37] <hsivonen> pro desktops get overtaken by non-pro laptops in under 3 years
- # [14:37] <hsivonen> Philip`: the middle one of the current lineup
- # [14:37] <hsivonen> 2.4 GHz Core 2 Duo
- # [14:38] <Philip`> Ah, that's a quite decent CPU :-)
- # [14:38] <hsivonen> the PowerMac is Dual 2.0 GHz G5
- # [14:38] <Philip`> though is your performance testing thing using >1 core?
- # [14:39] <hsivonen> it's single-threaded
- # [14:40] <Lachy> Philip`, it's the latest verstion available from wordpress.com
- # [14:40] <Lachy> so hopefully the fixed that bug
- # [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
- # [14:41] * Philip` wonders when that changed
- # [14:42] <Philip`> Oh, apparently two months ago
- # [14:43] <Lachy> Philip`, yeah, that's when they added multitouch to the MBPs just like the new MBAs
- # [14:43] <Philip`> Computers should stop getting better all the time :-(
- # [14:44] <Philip`> Lachy: I'd be happy enough if they just made the touchpad less totally rubbish under Windows
- # [14:45] <Lachy> Philip`, you shouldn't be running Windows on a Mac! That's just cruel.
- # [14:45] <Philip`> Lachy: But OS X hasn't done anything to make me like it, and I want to play games :-)
- # [14:45] <Lachy> but what's so rubbish about it?
- # [14:46] <Lachy> except that it can be a bit slow and insensitive at times.
- # [14:46] * Joins: jgraham (n=james@81-86-210-188.dsl.pipex.com)
- # [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
- # [14:47] <Philip`> I'm not sure if it's even possible to middle-click
- # [14:48] <Lachy> AFAIK, it's not possible to middle click on any touchpad
- # [14:48] <Lachy> but tap to click should work. It definitely works under OSX
- # [14:48] <Philip`> It is on my cheap HP with Linux - press left+right buttons together, or tap with two fingers
- # [14:48] <Philip`> (and three fingers for right-click)
- # [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
- # [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
- # [14:53] <Lachy> do you use your right hand to use WASD controls, instead of your left?
- # [14:53] <Philip`> Yes
- # [14:53] <Philip`> since I use my mouse left-handed
- # [14:53] <Lachy> wow, that's crazy
- # [14:54] <Philip`> and remapping the controls is too much of a pain, since most games need dozens of keys
- # [14:54] <Philip`> (I'm not really left handed, since I write with my right)
- # [14:54] <Lachy> I can't operate a mouse at all with my left hand
- # [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
- # [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)
- # [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
- # [14:58] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 104 (Connection reset by peer))
- # [14:59] <Lachy> Cmd+Left and Cmd+Right works well enough for that
- # [14:59] * Joins: ROBOd (n=robod@89.122.216.38)
- # [14:59] <Lachy> though it would be nice to have the multitouch touch pad that supports it natively
- # [15:00] * Joins: sverrej (n=sverrej@89.10.27.86)
- # [15:00] * Quits: jgraham (n=james@81-86-210-188.dsl.pipex.com) ("I get eaten by the worms")
- # [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?
- # [15:03] <Lachy> multitouch supports 3-finger swipe on the touchpad
- # [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.
- # [15:04] * Quits: wakaba_ (n=w@180.165.210.220.dy.bbexcite.jp) ("CHOCOA")
- # [15:05] <Lachy> oh, wait, that's on mac. not windows
- # [15:05] <Lachy> I'm not sure how well the multitouch features would function in windows.
- # [15:08] * Joins: wakaba (n=w@180.165.210.220.dy.bbexcite.jp)
- # [15:27] * Joins: sverrej_ (n=sverrej@89.10.27.86)
- # [15:42] <hsivonen> Philip`: OK. Now I think I have benchmark data showing that switch in Java sucks
- # [15:42] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 113 (No route to host))
- # [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
- # [15:46] <hsivonen> http://pastebin.ca/999313
- # [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)"
- # [15:59] <Philip`> so that seems to agree with your results
- # [16:02] <hsivonen> Philip`: thanks.
- # [16:02] <hsivonen> Philip`: re: profiling: the profiling measures execution time in methods
- # [16:03] <hsivonen> so it doesn't tell what exactly sucks inside the huge method
- # [16:03] <hsivonen> in general, though, isPrivateUse and isNonCharacter take way too much time
- # [16:04] <Philip`> VTune gives profiling data at the JITted x86 instruction level, which is sometimes a nicer way of looking at things
- # [16:05] * Joins: aroben (n=adamrobe@76.111.160.14)
- # [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.
- # [16:08] <hsivonen> mm. 700 dollars
- # [16:08] <hsivonen> not exactly cheap
- # [16:10] <Philip`> I just used the free evaluation version a few years ago on Windows
- # [16:10] <Philip`> so it's probably far from the best solution
- # [16:10] <Philip`> but I don't know what other tools implement the same kinds of features
- # [16:10] <Philip`> (I'm pretty sure there are some, I just have no idea what they're called)
- # [16:13] <hsivonen> I think it is pretty safe to conclude that given my findings and the Antlr page, switch sucks
- # [16:13] <hsivonen> so the next step I should take is using more return and continue without switch
- # [16:35] * Joins: jgraham (n=james@81-86-210-188.dsl.pipex.com)
- # [16:48] * Joins: dbaron (n=dbaron@c-67-160-251-228.hsd1.ca.comcast.net)
- # [16:55] * Quits: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com) (Read error: 110 (Connection timed out))
- # [17:03] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
- # [17:24] * Philip` reads the definition of arcTo, and wonders who to blame for it
- # [17:25] <Philip`> I suppose it's either me, or Hixie, or whoever wrote the equivalent function in OS X
- # [17:25] * Joins: csarven (n=csarven@modemcable130.251-202-24.mc.videotron.ca)
- # [17:50] * Joins: maikmerten (n=maikmert@T7a44.t.pppool.de)
- # [17:57] * Quits: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com) (Remote closed the connection)
- # [18:00] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [18:05] * Joins: sverrej__ (n=sverrej@89.10.27.86)
- # [18:06] * Quits: sverrej_ (n=sverrej@89.10.27.86) (Read error: 110 (Connection timed out))
- # [18:09] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [18:11] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [18:12] * Quits: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com) (Remote closed the connection)
- # [18:13] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [19:14] * Joins: tndH_ (i=Rob@83.100.253.115)
- # [19:16] * Quits: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
- # [19:22] * Joins: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com)
- # [19:23] * Joins: sverrej_ (n=sverrej@89.10.27.86)
- # [19:33] * Quits: tndH (i=Rob@adsl-87-102-79-4.karoo.KCOM.COM) (Read error: 110 (Connection timed out))
- # [19:36] * Quits: sverrej__ (n=sverrej@89.10.27.86) (Read error: 113 (No route to host))
- # [20:18] <virtuelv> some canvas neatness to rest your eyes on, http://www.p01.org/releases/DHTML_contests/files/20lines_twinkle/
- # [20:21] <Philip`> Much smoother in Firefox 3 than Opera 9.5 :-)
- # [20:21] <Philip`> (at least on Linux)
- # [20:22] <Philip`> Only seems to render the first frame in Konqueror 4, then stops
- # [20:23] <virtuelv> I don't notice much of a difference between Opera and FF here
- # [20:23] <virtuelv> moving the cursor modifies the animation
- # [20:23] <Philip`> Hmm, Safari 3.somethingold has the same problem as Konqueror
- # [20:24] <virtuelv> Yeah, I assume p01 has actually tested against Safari, possibly with a recentish nighly of WebKit
- # [20:25] <Philip`> Same problem (only draws one frame) in WebKit r32574 (from yesterday) on Windows
- # [20:29] <hasather> Philip`: looks like Safari has problems with CanvasRenderingContext2D.prototype
- # [20:29] <hasather> which has been discussed in this channel before
- # [20:30] <Philip`> hasather: Ah, that would make sense
- # [20:32] * qwert666_ is now known as qwert666
- # [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
- # [20:32] * Quits: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com) (Remote closed the connection)
- # [20:33] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [20:42] <hsivonen> I wonder what the relative frequencies of the tokenizer states preceding 'bogus doctype' are...
- # [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)
- # [20:43] <Philip`> (It shows "current state: conditions that were true and will cause the relevant set of steps to execute")
- # [20:44] <Philip`> (where "true" is the "anything else" fallback when all other conditionals in that state have not matched)
- # [20:57] <hsivonen> Philip`: there's only one match for BogusDoctype
- # [20:58] <hsivonen> Philip`: I think I don't understand what I should look for
- # [21:09] <Philip`> hsivonen: You need to first find the places where the spec says to move to 'bogus doctype'
- # [21:09] <Philip`> e.g. the 'anything else' part of 'before doctype public identifier'
- # [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")
- # [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
- # [21:13] <Philip`> Um, I can't actually find any in the list that are moving into bogus doctype state...
- # [21:14] <Philip`> (which is odd since it says there were 104 tokeniser steps inside bogus doctype state)
- # [21:14] <Philip`> (so I'm not entirely sure what's going on there)
- # [21:15] <Philip`> (Oh well)
- # [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
- # [21:33] <hsivonen> Philip`: that probably also means that it's not a point worth optimizing.
- # [21:33] <hsivonen> thanks
- # [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
- # [21:46] * Quits: maikmerten (n=maikmert@T7a44.t.pppool.de) ("Leaving")
- # [22:06] <hsivonen> hmm. I refactored the code some more and now the perf sucks even more
- # [22:07] <hsivonen> the most reasonable expectation is that HotSpot isn't doing field-to-stack hoisting
- # [22:09] <hsivonen> s/expectation/explanation/
- # [22:27] * Quits: ROBOd (n=robod@89.122.216.38) (Remote closed the connection)
- # [22:34] * Joins: aroben (n=adamrobe@76.111.160.14)
- # [22:36] * Joins: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
- # [22:36] <hsivonen> if HotSpot isn't doing field-to-stack hoisting, so of my earlier conclusions are wrong
- # [22:39] * Quits: aroben (n=adamrobe@unaffiliated/aroben) (Client Quit)
- # [22:40] * Quits: sverrej_ (n=sverrej@89.10.27.86) (Read error: 110 (Connection timed out))
- # [22:41] * Joins: sverrej_ (n=sverrej@89.10.27.86)
- # [22:43] * Joins: weinig_ (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
- # [22:43] * Quits: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net) (Read error: 104 (Connection reset by peer))
- # [22:43] * weinig_ is now known as weinig
- # [22:45] * Joins: weinig_ (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
- # [22:46] * Quits: weinig_ (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net) (Read error: 104 (Connection reset by peer))
- # [22:46] * Joins: weinig_ (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
- # [22:47] * Joins: sverrej (n=sverrej@89.10.27.86)
- # [22:49] * Quits: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net) (Connection reset by peer)
- # [22:56] * Quits: weinig_ (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net) (Read error: 104 (Connection reset by peer))
- # [22:57] * Joins: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
- # [22:58] * Joins: Camaban (n=alee@85-211-181-63.dyn.gotadsl.co.uk)
- # [22:59] * Joins: sverrej__ (n=sverrej@89.10.27.86)
- # [23:06] * Quits: sverrej (n=sverrej@89.10.27.86) (Connection timed out)
- # [23:09] * Quits: sverrej_ (n=sverrej@89.10.27.86) (Read error: 113 (No route to host))
- # [23:15] * Joins: itpastorn (n=itpastor@139.57.227.87.static.th.siw.siwnet.net)
- # [23:21] * Quits: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com) ("Ex-Chat")
- # [23:26] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [23:28] <Philip`> Whoops, using jQuery's 'wrap' method to nest forms is a bad idea, since it breaks (at least) Opera
- # [23:28] <Philip`> (by making the outer form end just before the inner form)
- # [23:28] <Philip`> (whereas it works fine in Firefox)
- # [23:28] * Philip` goes back to using plain ugly DOM methods to nest forms
- # [23:29] * Quits: tndH_ (i=Rob@83.100.253.115) (Read error: 104 (Connection reset by peer))
- # [23:38] * Joins: roc (n=roc@202.0.36.64)
- # [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.")
- # [23:42] * Philip` thus finds that form.setAttribute('enctype') doesn't work in IE
- # [23:44] * Quits: itpastorn (n=itpastor@139.57.227.87.static.th.siw.siwnet.net) (Read error: 110 (Connection timed out))
- # [23:48] <hsivonen> I'm still amazed by the 10-fold difference in parser perf after the refactoring
- # [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
- # [23:49] <hsivonen> could it be that the HotSpot simply avoids compiling the huge tokenization method?
- # [23:50] <Philip`> hsivonen: Does execution ever leave that method?
- # [23:50] <Philip`> Maybe it can't JIT methods while it's executing in the middle of them
- # [23:50] <hsivonen> Philip`: yes. and the FAQ says that HotSpot does on the stack replacement anyway
- # [23:51] <Philip`> Oh, okay
- # [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."
- # [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
- # [23:54] <jgraham> Can't you use DTrace to work out what' going on?
- # [23:54] <jgraham> http://java.sun.com/javase/6/docs/technotes/guides/vm/dtrace.html
- # [23:54] <jgraham> (that link is for DTrace + hotspot)
- # [23:54] <hsivonen> jgraham: I'd need Solaris to run that, wouldn't I?
- # [23:55] <hsivonen> since Linux doesn't have DTrace and OS X doesn't have Java 6
- # [23:55] <jgraham> hsivonen: I guess, if there's no way to get Java 6 on OS X
- # [23:55] <jgraham> Would OpenSolaris work?
- # [23:55] <hsivonen> jgraham: yeah, except for all the work of installing it
- # [23:56] * Philip` has a Solaris box
- # [23:56] <Philip`> but I think it's pretty old
- # [23:56] <Philip`> (I'm not sure how old it actually is but its uptime is 1030 days)
- # [23:57] <jgraham> hsivonen: They have a live CD
- # [23:57] <Philip`> (It's even got Java, but 1.4.0_03)
- # [23:58] <jgraham> Philip`: Almost the whole IoA runs on old solaris boxes (except, in practice lots of people just use personal machines instead)
- # [23:59] <jgraham> (fortunately I'm in a group that has its own computing budget and modern linux-running hardware)
- # Session Close: Mon Apr 28 00:00:00 2008
The end :)