From Second Life Wiki
< Mono
Revision as of 09:07, 27 February 2008 by Periapse Linden (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
[8:11]  Saijanai Kuhn: have you been tracking the jira and webpage that I and Stryfe have put up?
[8:12]  Babbage Linden: The LSL3 JIRA?
[8:12]  Periapse: ??
[8:12]  Saijanai Kuhn:
[8:12]  Babbage Linden: I saw it when it went up
[8:12]  Babbage Linden: I haven't been following it
[8:13]  Babbage Linden: As I've said before, I'd like to look in to supporting existing languages once LSL on Mono is done
[8:13]  Saijanai Kuhn: most peoplle are saying "lets wait until things settle down before discussing new features"
[8:13]  Babbage Linden: rather than extending or revising LSL
[8:13]  Harleen Gretzky: Such as C#?
[8:13]  Babbage Linden: yes, I'm interested in your thoughts, but the focus is on LSL on Mono at the moment
[8:13]  Saijanai Kuhn: well, there's so much invested in people having already learned LSL, it seems a shame to waste a few million man hours learning time
[8:14]  Babbage Linden: and everything else is just in discussion
[8:14]  Saijanai Kuhn: I wouldn't have put that up unless Periapse had mentioend a "next steps" question
[8:14]  Periapse: I think it's important to have this discussion
[8:14]  Babbage Linden: Thanks Saijanai
[8:14]  Babbage Linden: yes, it's good to have the discussion
[8:15]  Babbage Linden: as long as it's clear that LSL on Mono is the focus at the moment
[8:15]  Babbage Linden: and that we're collecting thoughts rather than committing to anything
[8:15]  Babbage Linden: but, it's great to get feedback
[8:15]  Saijanai Kuhn: sure, I tried to make it clear this was a "discussion" of future stuff, not a "lets do this right now"
[8:15]  Babbage Linden: great :-)
[8:15]  Periapse: Yeah, we still have about three dozen open issues.
[8:16]  Babbage Linden: Hopefully some of the existing bugs will be easier to narrow down after this refresh
[8:16]  Babbage Linden: Which fixes a lot of issues which would have caused some scripts to fail in subtle and strange ways
[8:17]  Saijanai Kuhn: is that the change to acknowledge LSL2's interesting way of handling variables?
[8:17]  Babbage Linden: As the core language features start working correctly it should be easier to narrow down problems with particular events or library calls
[8:17]  Babbage Linden: Yes, the main fixes in this refresh are to change to pass by value
[8:17]  Harleen Gretzky: When is the refresh happening?
[8:17]  Periapse: Cordova crashed and is coming back up. I'm going to diable scripts for this office hour
[8:17]  Periapse: Just for Goguen
[8:17]  Babbage Linden: The refresh happened late last night
[8:17]  Entering god mode, level 200
[8:17]  Babbage Linden: So the new code is running now
[8:18]  Harleen Gretzky: sweet
[8:18]  Babbage Linden: Vector, Quaternion and List assignment should work correctly now
[8:18]  Becky Pippen: yay!
[8:18]  Saijanai Kuhn: so now, things might be running even slower in order to maintain backwarsd compatibility... E.G> for lists and the like
[8:18]  Babbage Linden: And Keys should be properly distinguished from Strings
[8:18]  Leaving god mode, level 200
[8:18]  Babbage Linden: I ran our benchmarks last night and the Mono speedup seems to have held steady
[8:19]  Babbage Linden: Although most of our benchmarks test math and language features, rather than library calls
[8:19]  Babbage Linden: It shouldn't have affected performance much if at all
[8:19]  Saijanai Kuhn: is there any way you can see to get link messages working faster? Its not that big a slowdown, just wondering
[8:20]  Babbage Linden: And it should fix a lot of scripts that would have behaved strangely with pass by reference semantics
[8:20]  Babbage Linden: Saijanai, possibly
[8:20]  Babbage Linden: As I said before, I'd like to prioritise language bugs, then library call event bugs and then look at performance problems
[8:21]  Babbage Linden: I don't see a reason why link messages should be any slower, so it's worth a look once we have the other bugs fixed
[8:21]  Babbage Linden: I'd like to see Mono have the same or faster performance than LSL2 in all areas
[8:22]  Babbage Linden: So that there is no debate as to which is the better VM to use
[8:22]  Babbage Linden: That may not be possible, but for now at least it's the goal
[8:22]  Saijanai Kuhn: Did you ever look at Squirrel Wood's graphing thignie? It causes huge lag when compiled to mono
[8:22]  Babbage Linden: No, not yet
[8:22]  Babbage Linden: Is there a JIRA task for it?
[8:23]  Periapse: I haven't seen one
[8:23]  Saijanai Kuhn: haven't looked. Uses thousands of listens which seem to have more letnecy or something in mono
[8:23]  Saijanai Kuhn: latency*
[8:23]  Babbage Linden: It would be good to have minimal tests and JIRA tasks for all the areas in which Mono seems to run more slowly or induce more latency
[8:24]  Saijanai Kuhn: I'll remind him (her?) to submit one next time I see him
[8:24]  Babbage Linden: Certainly event invocation may be slower in Mono, but in our tests it seemed to be about the same performance
[8:24]  Babbage Linden: Thanks
[8:25]  Becky Pippen: does that mean scripts may tend to overflow their 64-event queues more easily?
[8:25]  Babbage Linden: I doubt it Becky#
[8:25]  Saijanai Kuhn: well, the simple test of having a link set pass messages back and forth yields different results in mono then in LSL2
[8:25]  Babbage Linden: If event handlers do even a small amount of processing, then Mono will execute the event handler faster
[8:26]  Becky Pippen: that makes sense
[8:26]  Babbage Linden: There may be a case where really trivial event handlers take longer to execute in Mono
[8:26]  Babbage Linden: If the overhead of calling the event handler is greater
[8:26]  Saijanai Kuhn: requires a rethin of tricks to speed things up is all (I suspect)
[8:26]  Babbage Linden: But in most cases the execution of the handler being faster should outweigh that
[8:26]  Babbage Linden: Possibly
[8:27]  Babbage Linden: If code is relying on particular quirks of LSL2 it may need tweaking
[8:27]  Babbage Linden: But all reasonable code should run faster on Mono as is
[8:28]  Drew Dwi: wee made it
[8:28]  Saijanai Kuhn: my faux joints sign goes a little slower in mono now probably due to the lnik message and related issues
[8:29]  Babbage Linden: Peri noticed that there haven't been any bugs filed recently
[8:29]  Drew Dwi: q if taking.... whats the stance on LSL developement of new functions ect, is it dead in favor of importing other languages? there are many jira feature requests ect is why I ask
[8:29]  Babbage Linden: Hopefully this refresh will allow scripts to fail differently and reveal other issues that we need to fix
[8:30]  Babbage Linden: It's good that there hasn't been a crash bug in a while, but I can't believe that we've smoked all the bugs out yet
[8:30]  Periapse: Cordova is really hosed. It's tried to come back up three times since I've been here.
[8:30]  Periapse: I'm going to try to restore an old simstate
[8:30]  Babbage Linden: OK, that might be the bug we saw that was causing Goguen to not come up last week
[8:30]  Babbage Linden: It's the next on my list to look at
[8:31]  Babbage Linden: A bug that stops sims restarting is worse than one that causes them to crash
[8:31]  Babbage Linden: There were a number of significant changes in the new refresh, which is why it took longer to get out
[8:32]  Babbage Linden: So, please check your scripts again, even if they worked on Mono previously
[8:32]  Babbage Linden: Just in case we've introduced any new issues
[8:32]  Saijanai Kuhn: I'm stil trying to keep that mono bug table current
[8:32]  Babbage Linden: We're keeping the unit tests we use public on the wiki
[8:32]  Saijanai Kuhn:
[8:33]  Babbage Linden: And those should catch regressions
[8:33]  Saijanai Kuhn: its got more than 450 hits so I assume people are using it
[8:33]  Babbage Linden: But that's not guaranteed
[8:34]  Babbage Linden: Any other questions or issues?
[8:35]  Drew Dwi: whats the stance on LSL developement of new functions ect, is it dead in favor of importing other languages in mono?
[8:35]  Babbage Linden: Not at all
[8:35]  Babbage Linden: We haven't been working on new language features
[8:35]  Saijanai Kuhn:
[8:36]  Babbage Linden: But the library calls will likely be shared by any other languages used to script SL
[8:36]  Drew Dwi kicks the wiki to load faster
[8:36]  Drew Dwi: I know you may not be the right group to ask, but who's tasked with LSL development then?
[8:36]  Babbage Linden: And as LSL will need to call those library functions, its likely that we'll use ll* library calls for the foreseeable future
[8:37]  Babbage Linden: Scouse, Peri and I are the only group working on LSL specifically at the moment
[8:37]  Babbage Linden: But other groups have been fixing LSL functions
[8:37]  Babbage Linden: And possibly adding new ones
[8:38]  Drew Dwi: is there a process in which new features proposed on jira are slotted to be developed or declined?
[8:38]  Babbage Linden: If we continue to develop scripting further after Mono, then it's likely that Peri, Scouse and I will be working on it
[8:38]  Babbage Linden: which is why we were asking for feedback on future directions
[8:38]  Drew Dwi: ah
[8:38]  Babbage Linden: which we can feed in to internal discussions about what we should be working on next
[8:38]  Saijanai Kuhn: which is what that page and jira are about
[8:39]  Babbage Linden: right
[8:39]  Drew Dwi: ok, so for now its more of waiting for mono to complete before anything new will be happening on LSL front?
[8:39]  Babbage Linden: we'll take that feedback in to consideration when we discuss what to work on next
[8:39]  Saijanai Kuhn: and
[8:40]  Babbage Linden: yes, we need to get Mono compatible and running on the main grid before we start on anything else
[8:40]  Saijanai Kuhn: I was talking to Tedd Maaa (Ted Nelson?) f OPenSim about things.
[8:40]  Babbage Linden: but, now is the time to start talking about the next steps
[8:40]  Babbage Linden: I've been talking to tedd too
[8:40]  Babbage Linden: and following his blog
[8:40]  Saijanai Kuhn: he mentioned that
[8:40]  Drew Dwi: this looks like a good direction to go
[8:41]  Saijanai Kuhn: Drew you should also look at the OSSL bloag that Babbage mentioned
[8:41]  Babbage Linden: I'd like to talk to him about keeping OpenSim and SL compatible if possible
[8:41]  Becky Pippen: Oh yes, please let's don't let LSL diverge
[8:42]  Babbage Linden: I think OpenSim needs to support LSL
[8:42]  Babbage Linden: The questions are around whether anything else is supported
[8:42]  Saijanai Kuhn: My understanding is that that is the goal.
[8:42]  Babbage Linden: and how
[8:42]  Babbage Linden: there are definitely areas in which we could cooperate
[8:43]  Saijanai Kuhn: Ted says he'd rather not get into public debates about feature sets.
[8:43]  Saijanai Kuhn: that he'd rather talk privately with knowledgeable people, etc
[8:43]  Babbage Linden: I'd like to know what people think
[8:44]  Saijanai Kuhn: OPenSim doesn't have to support existing customers ;-)
[8:44]  Babbage Linden: But I agree that it may not be productive to try to get a complete consensus
[8:45]  Saijanai Kuhn: I was thinking that a transitional syntax that moves from LSL-ish to C# might be a good way to go...
[8:45]  Babbage Linden: Anyway, for the moment, we need to get Mono finished and deployed to the main grid
[8:46]  Saijanai Kuhn: are there any specific thigns we can do to help speed upyour work?
[8:46]  Babbage Linden: The most useful thing is to have minimal repros for all the filed bugs
[8:46]  Babbage Linden: Most of the reports have been really clear
[8:47]  Babbage Linden: And everyone has worked together to simplify the repros where possible
[8:47]  Babbage Linden: So that's been great
[8:47]  Babbage Linden: Just trying as many different scripts
[8:47]  Babbage Linden: And as many strange corner cases as possible is the biggest help
[8:48]  Saijanai Kuhn: one thing I mentioned in my comments jira that will be even more important with future languages is to have some clear idea of what is what with debugger messages
[8:48]  Babbage Linden: Then, when you find something broken, finding the simplest thing to reproduce the broken behaviour
[8:48]  Babbage Linden: And filing that in JiRA
[8:49]  Babbage Linden: Saijanai, at the moment if ever you see a stack trace, it's a bug
[8:50]  Saijanai Kuhn: sure. Something I already mentioned and use in that bug table is a section for the stack trace/debug message. If a section of the jira allowed input for that, it would make it sortable within the jira itself
[8:51]  Saijanai Kuhn: once you get to multiple language support, that would become even more useful, I think
[8:51]  Babbage Linden: Yes
[8:51]  Babbage Linden: We can document the exceptions that can be thrown by different library calls
[8:52]  Babbage Linden: And, if the language allows for it, allow exceptions to be defined, thrown and caught inside the script
[8:52]  Saijanai Kuhn: still need a jira input section for them though
[8:53]  Saijanai Kuhn: don't know how the jira forms work. IF a comment section could be designated for that would standardize how thiey are written/used
[8:54]  Babbage Linden: It may be useful in the future, yes
[8:54]  Babbage Linden: But, I'm not sure how much work it would be to change
[8:54]  Babbage Linden: And so whether it's worth adding to JIRA
[8:54]  Saijanai Kuhn: me neither. I can ask Rob L. I guess
[8:54]  Babbage Linden: Yep
[8:54]  Babbage Linden: Good idea
[8:55]  Babbage Linden: OK, we're nearly out of time
[8:55]  Babbage Linden: Anyone else have anything?
[8:56]  Periapse: Cordova is still down, even after restoring a simstate from yesterday
[8:56]  Babbage Linden: OK, I'll look at that when we're done here Peri
[8:56]  Periapse: osssm
[8:56]  Harleen Gretzky: Turn scripts back on :P
[8:56]  Periapse: will do
[8:56]  Becky Pippen: :-)
[8:56]  Entering god mode, level 200
[8:56]  Babbage Linden: OK, thanks for coming everyone
[8:56]  Becky Pippen: thank you guys
[8:56]  Babbage Linden: Please keep up the great work
[8:57]  Periapse: scripts back on
[8:57]  Harleen Gretzky: ty
[8:57]  Babbage Linden: Test as many scripts as you can
[8:57]  Leaving god mode, level 200
[8:57]  Periapse: Thanks all, I'll post the transcript to the wiki
[8:57]  Babbage Linden: And let us know whenever you find anything unusual
[8:57]  Babbage Linden: Thanks Peri
[8:57]  Babbage Linden: Thanks all