Mono/2008-02-27
< Mono
Jump to navigation
Jump to 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: 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