|
|
| Author |
Message |
codemastr Idler

Joined: 05 Feb 2004 Posts: 353
|
Posted: May 15, 2005 9:28pm Post subject: |
|
|
| Quote: | | Regex checks are ran in a seperate thread. It only slows down the joining client. Also, regex checks are now JIT, as I mentioned before. Also, would you like a copy of fury.c for testing against Unreal? I have a feeling you might be revising a few of your posts in this thread... |
Nenolod, I'm not trying to bad mouth her idea, I'm trying to provide help, so lets stop acting all smug, ok?
Secondly, most people will agree that the whole threading thing is a bad idea anyway. Ok, no it doesn't lock up because of a blocking call. Instead you introduce dozens of context switches which isn't necessarily any better. So while the "perceived" time might be less with her method, it doesn't mean it is actually more efficient. You claim the performance hit is negligable, any coder whose ever works with threads will tell you that the hit is always *significant* unless you're on a multiprocessor system. Microsoft, for example, recommends that you NEVER have more threads than processors. So this isn't some savior of performance, it's actually a performance detriment. All it does is make it seem "instant" to the user, but under the hood, the OS actually has quite a bit more processing to do.
So no, I won't be revising any of my claims. Also, lets not forget you were the one who made the initial claim that .NET regex is "painfully slow" it wasn't me... |
|
| Back to top |
|
 |
w00t Eleet

Joined: 09 Jun 2004 Posts: 699 Location: Nowra, Australia
|
Posted: May 15, 2005 9:58pm Post subject: |
|
|
You... never have more threads than processors? Then why don't we go back to single-threaded systems? Why don't we live with synchronous DNS? Because this way is better. Without knowing the specifics of olene's threading implementation, I fail to see how you can say straight off the hat that it's going to be bad.
nenolod, we're not discussing Unreal here. In fact, what are we discussing here, I've totally lost track... |
|
| Back to top |
|
 |
nenolod Idler

Joined: 23 Jan 2004 Posts: 334 Location: A box!
|
Posted: May 16, 2005 7:44am Post subject: |
|
|
| w00t wrote: | You... never have more threads than processors? Then why don't we go back to single-threaded systems? Why don't we live with synchronous DNS? Because this way is better. Without knowing the specifics of olene's threading implementation, I fail to see how you can say straight off the hat that it's going to be bad.
nenolod, we're not discussing Unreal here. In fact, what are we discussing here, I've totally lost track... |
All I stated was that her regex checks were running in another thread, and thus would not block. |
|
| Back to top |
|
 |
nenolod Idler

Joined: 23 Jan 2004 Posts: 334 Location: A box!
|
Posted: May 16, 2005 7:48am Post subject: |
|
|
| codemastr (and w00t) -- Microsoft has good reason. You see -- there was once this ircd that used a thread for each connecting client. It was entirely horrible, and extremely slow. |
|
| Back to top |
|
 |
codemastr Idler

Joined: 05 Feb 2004 Posts: 353
|
Posted: May 16, 2005 9:30am Post subject: |
|
|
| w00t wrote: | | You... never have more threads than processors? Then why don't we go back to single-threaded systems? |
Ideally, for a server, you should! If your system is running an IRCd (or any other server software for that matter), in an ideal world, no other software (except vital system components) should be running. You'll take note that most of the large IRC networks recommend this. Here is a quote from the DALnet linking guidelines:
The machine must be dedicated to running the IRC server. This means that it cannot be running anything other than essential OS processes needed by the IRC server or needed to secure the machine.
Here's one from EFNet:
In general, the only services that should be running on the ircd machine are those directly related to irc. This includes SSHD, and xntpd*. Services such as ftpd, telnetd, httpd, and so on must NOT be running on an EFNet irc server.
From Undernet:
Server must be a DEDICATED machine to serve as an IRC server. No other services may be run on such a machine except in certain circumstances (such as java-based IRC client)
And I could paste others. So please don't make like this "single process" idea is insane; it's the recommended way to run a server.
| Quote: | | Why don't we live with synchronous DNS? |
You'll notice that some networks opt to disable DNS because of the overhead. I'm not saying she should use blocking regex, that would be even worse. I'm saying I don't believe this particular feature should be using regex at all. I'm also not saying regex is bad for IRC, I'm just saying that I don't like this particular implementation. Even if, for a moment, we assume that a regex evaluation and compilation is O(1) and takes 0 CPU time, there are still other issues. Olene, have you checked memory usage? I'll admit, I've never much looked at the .NET regex implementation, but just about every regex library I've ever seen takes roughly 500b-1kb per compiled regex. So if you have thousands of channels, each with 50 regex bans, it's easy to see that this could eat quite a bit of memory...
| Quote: | | Without knowing the specifics of olene's threading implementation, I fail to see how you can say straight off the hat that it's going to be bad. |
Maybe I missed something here... when did olene become the author of the .NET framework? I don't think she ever made that claim and therefore it's not her threading implementation, it's the .NET implementation, one which I'm familiar with. Even if she implemented this in the most-thread-efficient way possible (a single thread that has a queue of requests), it's still more overhead than no additional threads.
| Quote: | | nenolod, we're not discussing Unreal here. In fact, what are we discussing here, I've totally lost track... |
I agree, and therefore I really wish nenolod would stop taking shots at Unreal like he quote about an ircd that was "entirely horrible." I'm providing CONSTRUCTIVE support to olene (btw, I haven't heard olene asking me to stop, in fact you'll notice that she agreed to change the timeout on the regex due to my suggestions), I only see people like nenolod saying it. On the other hand, nenolod is taking every chance he gets to insult Unreal. Yeah Unreal did have a very bad threading model. So doesn't this give me the expertise on how NOT to design a threading model? If I did it in a bad way, this should make it very easy for me to inform others of how not to do it. So I really don't see his point and I really wish he'd just give it up. |
|
| Back to top |
|
 |
olene Newbie

Joined: 31 Jul 2004 Posts: 61 Location: olene on DALnet
|
Posted: May 16, 2005 2:23pm Post subject: |
|
|
Ok then, codemastr:
1. Regex's have had timeouts on my server since before you started clogging up this thread.
2. Please stop. Don't use the fact that I'm polite enough to not tell you to shut up as an argument against others in your defense against unreal or whatever it is you're gaining by posting criticism here that seems to be the contrary of what everyone else thinks and says.
3. Theres more than one .NET framework, and all but one of the ones im aware of are open source. So if you don't like the threading and regex libraries I'm using, then modify them. My ircd will use any library that's at System.Threading and System.Text.RegularExpressions. So if you think i'm using slow or shitty implementations, then change them. |
|
| Back to top |
|
 |
codemastr Idler

Joined: 05 Feb 2004 Posts: 353
|
Posted: May 16, 2005 4:05pm Post subject: |
|
|
[quote="olene"]Ok then, codemastr:
| Quote: | | 1. Regex's have had timeouts on my server since before you started clogging up this thread. |
Read what I said. I said you CHANGED the timeout, not added one.
| Quote: | | 2. Please stop. Don't use the fact that I'm polite enough to not tell you to shut up as an argument against others in your defense against unreal or whatever it is you're gaining by posting criticism here that seems to be the contrary of what everyone else thinks and says. |
I wasn't trying to gain anything. I was trying to help you. If you don't want it, believe me, I'm more than happy to keep my comments to myselfI was merely trying to help you out by pointing out problems I have encountered and overcome in my development. If you don't want the advice of someone who has experienced these problems, feel free to reinvent the wheel yourself, it doesn't hurt me in the slightest. If you want to take my comments as a defense, or whatever other nonsense it was you were trying to say there, then that's your problem, not mine. Criticism is a good thing; if you disagree with that statement, then you're asking for a lot more hardship in your life than is necessary. |
|
| Back to top |
|
 |
olene Newbie

Joined: 31 Jul 2004 Posts: 61 Location: olene on DALnet
|
Posted: May 16, 2005 6:50pm Post subject: |
|
|
| If you're going to criticize me on a message board, the least you could do is provide a real-time method of communication, since you have no AIM, MSN, or IRC servers listed in your profile where you can be reached. |
|
| Back to top |
|
 |
Roku Newbie

Joined: 18 Apr 2005 Posts: 92
|
Posted: May 16, 2005 7:54pm Post subject: |
|
|
| olene wrote: | | If you're going to criticize me on a message board, the least you could do is provide a real-time method of communication, since you have no AIM, MSN, or IRC servers listed in your profile where you can be reached. |
ok, that's just weak. I find it VERY hard to believe that you can't find contact info on codemastr .. I'm no expert and it took me like 15 seconds.
http://www.google.com/search?hl=en&q=codemastr |
|
| Back to top |
|
 |
w00t Eleet

Joined: 09 Jun 2004 Posts: 699 Location: Nowra, Australia
|
Posted: May 17, 2005 5:25pm Post subject: |
|
|
codemastr,
Are we talking single-threaded, or single process? Take a look at how apache does things - I find it fairly interesting .
You say that regex can use a bit of memory - so? I think it's at least a good idea that new ideas are being tried rather than just discarded. Time will tell if it's any good or not.
That aside, by "her regex implementation" I meant how she's using it. It was badly worded - sorry.
@olene: I'll stop hijacking your thread now  |
|
| Back to top |
|
 |
olene Newbie

Joined: 31 Jul 2004 Posts: 61 Location: olene on DALnet
|
Posted: May 17, 2005 8:06pm Post subject: |
|
|
| Roku: It obviously DIDNT take you 15 seconds, because ive searched google for 15 MINUTES and i still didn't find any real time contact information on codemastr. I couldn't even find any less-than-real time contact information, as he seems to use "fake@fake.com" for his email. |
|
| Back to top |
|
 |
w00t Eleet

Joined: 09 Jun 2004 Posts: 699 Location: Nowra, Australia
|
|
| Back to top |
|
 |
Roku Newbie

Joined: 18 Apr 2005 Posts: 92
|
Posted: May 17, 2005 8:51pm Post subject: |
|
|
| olene wrote: | | Roku: It obviously DIDNT take you 15 seconds, because ive searched google for 15 MINUTES and i still didn't find any real time contact information on codemastr. I couldn't even find any less-than-real time contact information, as he seems to use "fake@fake.com" for his email. |
haha, thats laughable at best .. it took 15 seconds .. follow the link and scroll to the bottom.
My secret is that I went to google.com and typed in codemastr and clicked the first link. Unless your my 90 year old grandmother, it doesn't take 15 minutes to do that.
So yes .. it took me 15 seconds. 120 seconds if your on dial-up. |
|
| Back to top |
|
 |
w00t Eleet

Joined: 09 Jun 2004 Posts: 699 Location: Nowra, Australia
|
Posted: May 17, 2005 8:55pm Post subject: |
|
|
Roku, no need to be condescending I think olene meant she couldn't just find the address through google. |
|
| Back to top |
|
 |
Roku Newbie

Joined: 18 Apr 2005 Posts: 92
|
Posted: May 17, 2005 9:02pm Post subject: |
|
|
| w00t wrote: | Roku, no need to be condescending I think olene meant she couldn't just find the address through google. |
Yeah you're probably right. However I find it difficult to believe that a person as intelligent as olene can't find codemastr's email address in less than 15 minutes.
Granted I know who codemastr is and I know that not everyone does. But given his popularity I still refuse to believe that she couldn't find his address in seconds (not minutes).
If she waslooking for a nobody like me, then it's completely understandable (since you won't find me in any search engine). |
|
| Back to top |
|
 |
|
|
| |