<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: lurker emerges --> <!--X-From-R13: "Xnzrf Ivyfba" <wjvyfbaNebpurfgre.ee.pbz> --> <!--X-Date: Sun, 9 Aug 1998 16:54:22 -0700 --> <!--X-Message-Id: 001e01bdc3ef$7f4573a0$961e5d18#default,rochester.rr.com --> <!--X-Content-Type: text/plain --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] Re: lurker emerges</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:jwilson#rochester,rr.com"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00599.html">Previous</a> | <a href="msg00601.html">Next</a> ] Thread: [ <a href="msg00615.html">Previous</a> | <a href="msg00603.html">Next</a> ] Index: [ <A HREF="author.html#00600">Author</A> | <A HREF="#00600">Date</A> | <A HREF="thread.html#00600">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: lurker emerges</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <<A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A>></LI> <LI><em>Subject</em>: [MUD-Dev] Re: lurker emerges </LI> <LI><em>From</em>: "James Wilson" <<A HREF="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</A>></LI> <LI><em>Date</em>: Sun, 9 Aug 1998 19:43:20 -0400</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> -----Original Message----- From: T. Alexander Popiel <popiel#snugharbor,com> To: mud-dev#kanga,nu <mud-dev#kanga,nu> Cc: popiel#snugharbor,com <popiel#snugharbor,com> Date: Sunday, August 09, 1998 6:32 PM Subject: [MUD-Dev] Re: lurker emerges >In message: <<A HREF="msg00593.html">13773.64266.876212.231468#arioch,tky.hut.fi</A>> > Petri Virkkula <pvirkkul#iki,fi> writes: >>>>>>> "Chris" == Chris Gray <cg#ami-cg,GraySage.Edmonton.AB.CA> writes: >> >>Chris> In general, I think its clear that threading will only actually >>Chris> increase your speed if your system has multiple CPUs. >> >> That's only true if your program is CPU bound. If the program >> is I/O bound then count of physical disks is more relevaant >> factor. In a mixed case I would use (this is only a guess) >> x+2*y as formula for optimal thread count (x is count of CPUs >> and y is count of physical disks), count of physical disks are >> multiplied with 2 to keep disks busy all the time. > >*blink blink* > >You seem to assume that it is impossible for a single thread to keep >even one I/O device continuously busy. Whatever happened to double- >buffering and non-blocking I/O? Has that art actually been lost in >the annals of time? I for one have only a vague idea of what this technique consists of. Could you maybe give some details, or a url describing it? Why would one need non-blocking i/o if select() tells you which sockets are ready for reads and writes? That is, assuming you bound the size of your output chunks appropriately, if the socket's ready for i/o shouldn't blocking be moot? >>Chris> Threading has overhead over non-threading, and there isn't >>Chris> anything you can do about that. >> >> Don't forget that non-threading has overhead too: if there is >> multiple file descriptors then select'ing and going through >> fd_sets can burns CPU time too. > >While this is true, this overhead is something that a creative >programmer can manage and reduce, while the overhead of multiple >threads is untouchably bound in the OS kernel. > >I prefer problems that I have at least some hope of fixing. I am curious as to how one could speed up this process - can you avoid doing a search through the set of all active sockets to find those that are ready for i/o? Could you split up the fd_sets somehow to bound the number that would have to be checked? It seems like when one gets to thousands of simultaneous connections this could become a bottleneck. >- Alex > >-- >MUD-Dev: Advancing an unrealised future. > </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <ul compact><li><strong>Follow-Ups</strong>: <ul> <li><strong><A NAME="00603" HREF="msg00603.html">[MUD-Dev] Re: lurker emerges</A></strong> <ul compact><li><em>From:</em> "T. Alexander Popiel" <popiel#snugharbor,com></li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00599.html">[MUD-Dev] Re: lurker emerges</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00601.html">[MUD-Dev] Re: ADMIN: Advertising on MUD-Dev</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00615.html">[MUD-Dev] Re: lurker emerges</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00603.html">[MUD-Dev] Re: lurker emerges</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00600"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00600"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><STRONG>[MUD-Dev] Re: lurker emerges</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00676" HREF="msg00676.html">[MUD-Dev] Re: lurker emerges</A></strong>, Vadim Tkachenko <a href="mailto:vt#freehold,crocodile.org">vt#freehold,crocodile.org</a>, Wed 12 Aug 1998, 04:33 GMT </LI> <LI><strong><A NAME="00656" HREF="msg00656.html">[MUD-Dev] Re: lurker emerges</A></strong>, Petri Virkkula <a href="mailto:pvirkkul#iki,fi">pvirkkul#iki,fi</a>, Tue 11 Aug 1998, 07:53 GMT </LI> </ul> <LI><strong><A NAME="00654" HREF="msg00654.html">[MUD-Dev] Re: lurker emerges</A></strong>, Vadim Tkachenko <a href="mailto:vt#freehold,crocodile.org">vt#freehold,crocodile.org</a>, Tue 11 Aug 1998, 06:48 GMT </LI> </ul> </ul> </ul> </ul> </ul> <LI><strong><A NAME="00615" HREF="msg00615.html">[MUD-Dev] Re: lurker emerges</A></strong>, Petri Virkkula <a href="mailto:pvirkkul#iki,fi">pvirkkul#iki,fi</a>, Mon 10 Aug 1998, 05:57 GMT </LI> </ul> </ul> <LI><strong><A NAME="00600" HREF="msg00600.html">[MUD-Dev] Re: lurker emerges</A></strong>, James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Sun 09 Aug 1998, 23:54 GMT <UL> <LI><strong><A NAME="00603" HREF="msg00603.html">[MUD-Dev] Re: lurker emerges</A></strong>, T. Alexander Popiel <a href="mailto:popiel#snugharbor,com">popiel#snugharbor,com</a>, Mon 10 Aug 1998, 02:19 GMT </LI> </UL> </LI> <LI><strong><A NAME="00602" HREF="msg00602.html">[MUD-Dev] Re: lurker emerges</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 10 Aug 1998, 02:18 GMT </LI> <LI><strong><A NAME="00612" HREF="msg00612.html">[MUD-Dev] Re: lurker emerges</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 10 Aug 1998, 05:28 GMT <UL> <LI><strong><A NAME="00614" HREF="msg00614.html">[MUD-Dev] Re: lurker emerges</A></strong>, Vadim Tkachenko <a href="mailto:vt#freehold,crocodile.org">vt#freehold,crocodile.org</a>, Mon 10 Aug 1998, 05:57 GMT </LI> </UL> </LI> </ul> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>