To clarify on some of the previous comments, consider the following points. A 64bit application allows for two improvements over 32bit apps, namely, it allows for more than 4GB of memory usage and also allows for native integer types and floats to have more precision (without incurring a performance cost).

The latter point is basically moot, since mIRC never actually exposes native integers/floats to users, and, incidentally, already supports numeric values of higher precision than even a 64bit architecture can support natively. There might be a minor perf boost to doing complex numeric calculations with larger values, but it depends on how the underlying libraries work with the conversion-- and more than likely the bottleneck will still be the actual conversion process itself (also the script engine itself, which is by far the biggest bottleneck). Realistically, you would never notice this perf boost.

As for memory usage, my mIRC process is currently sitting at 10MB of utilization, and I don't think I've ever seen it over 100MB. Even with complex scripts running, my guess is mIRC's script engine would probably lock up way before you could reliably saturate the 4GB max limit (it would require you to be crunching 4 gigs of data inside the process, which would kill the script engine). And if you did manage to do this, you're more than likely pulling data into mIRC in a way that could be easily optimized-- for example, instead of storing data in an in-memory hash table, you could move it out to an sqlite database or key-value (redis/mongo) store, where your data will probably be more efficiently stored and processed anyway. That suggestion goes even for data sizes above 500MB.

So given that neither of these benefits are relevant to mIRC, the only real reason to eventually migrate to a 64bit build would be for system compatibility. My guess is Windows will eventually stop supporting 32bit applications, but given the number of existing 32bit-only apps in the wild, that will be many many many MANY years from now, so there's really no rush.





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