In message <199406152025.QAA00310@lictor.acsu.buffalo.edu> you wrote: >This seems like a very interesting patch.. however.. I'd like to warn all >you people out there that running an interpreted language (the MOBProg >programs) under the CircleMUD server is a nono in my book. Alright, this is just too good to pass up in my book ;) >Interpreted languages run much slower than compiled languages. Since C is >compiled, the server is compiled.. the environment does not need to parse >through the code and compile it as it goes along. However, with the >MOBProg code, the server itself has to go through each line of the script >every time an event happens... this is CPU time going out the window, IMHO. Here is where you are wrong. The script is ONLY parsed if it's relavant, and only parsed as far along as is needed. ;) Yes, it is a bit slower than coding in C, however, the speed difference to your standard user is NOT going to be all that great unless you have a huge number of users on triggering huge numbers of events at any given time (and by huge I do mean huge, not just 10-20 a second, but on the order of more than a hundred a second, which most muds will NOT get) Let me give you a bit of background on where I'm coming from before you tell me how much bullshit you think I'm spouting. I helped write the TinyMUSH2.0 server, which basically has something akin to the MOBPROG code available for ALL players to code objects out of (for those of you not aware of the Tiny* side of the universe, most tiny*'s allow for ALL users to be able to extend the database). Now, PernMUSH (a mud I used to run) regularly has a large contingent of players online (60+ at almost all hours of the day, 100+ during prime evening hours) and occasionally the lag gets noticable. However, the source of the lag is NOT the code (which is stored in plain ascii text strings and interpreted whenever it's triggered) but instead is caused by the fact that too many objects are currently loaded into memory and the machine is swapping. Dikumuds should NOT have this problem as their databases do not have the property that they can grow without bounds. >Learn how to doll up the C to look for events, and code your own C events >using spec_proc (for you Circle 2.x people) or by whatever method Jeremy >has written for Circle 3.0. Trust me, your server will run faster than >using the MOBProg. MOBProgs are useful mostly for giving flavor to areas, something that you don't want to have to code in C because it's simply faster and easier to code it in some sort of psuedo-language (like MobProgs). It also makes flavoring in areas available to those people who don't know C, but still want some bit of 'fun' in their areas. Trust me, you will NOT notice the difference between a server running with MOBprogs and a server not using them and using C procs instead. --JT/Moonchilde
This archive was generated by hypermail 2b30 : 12/07/00 PST