Mono/2008-02-27

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
[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: https://jira.secondlife.com/browse/SVC-1657 ??
[8:12]  Saijanai Kuhn: https://wiki.secondlife.com/wiki/LSL3 https://wiki.secondlife.com/wiki/LSL3
[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: https://wiki.secondlife.com/wiki/User:Saijanai_Kuhn/Mono_issues
[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: https://jira.secondlife.com/browse/SVC-1657 https://wiki.secondlife.com/wiki/LSL3
[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: https://jira.secondlife.com/browse/SVC-1657 and https://wiki.secondlife.com/wiki/LSL3
[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