That statement implies that you have no idea how multithreading can improve performance. A badly designed single-threaded program is going to be slower than a badly designed multi-threaded one, sure, but no robust bot designed for high traffic would "read from a file" at every request-- it would cache in memory, index lookups, or implement a whole host of other performance optimizations before wasting time implementing multi-threaded code.

Making a blanket statement that mIRC is bad because it is single-threaded is really uninformed. Multithreaded applications don't magically perform better, it depends very heavily on the use case, and performance does not increase throughout the application (it's usually limited to a very small portion of the runtime). Most of the time, the conclusion can only be drawn by actual benchmarks. That said, given the bottleneck of a TCP connection, the relatively low amount of data flowing through an IRC socket (on the order of ~100kb/s maximum), and the other things you can do to make a script run faster (caching, indexing, DLLs), I really doubt many scripts are really in need of multi-threading.

It should also be pointed out that eggdrops aren't multi-threaded as far as I know, so claiming that eggdrops are better because "mIRC is single-threaded" is inherently bogus. In fact, Tcl, the scripting language that eggdrop uses, is known for recommending scripters use the single-threaded event loop rather than threads, whenever possible.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"