Some users (mostly merchants and exchanges) have expressed the need to generate thousands or millions of addresses at once. I've looked at the options available and was surprised to find they were all quite slow, which is why I have knocked up a new little command: Bulkgen (not released yet.)
Below are some rough figures from my offline machine (a very old, VERY SLOW Win XP netbook.)
I will try to run the same tests on a faster machine soon.
Time required to generate 1000 addresses:
Bitcoind: 17 min (C++)
Electrum lib: 19 min (Python 2.x)
Bitaddress: 132 sec (JavaScript)
Vanitygen: 15.3 sec (C++)
Bulkgen: 7.8 sec (Python 2.x + OpenSSL 1.0.1e)
EDIT: corrected results for Vanitygen and Bulkgen
Did I forget any other tools?
Bulkgen is an open-source bulk address generator tool, based on OpenSSL and a public domain library. It will be released for Windows only in the beginning. People will be welcome to port it to other platforms (which should be quite trivial).
Notes:
1. As far as I can see, bitcoind's getnewaddress does not only generate a new address, but also adds it into the wallet database, which takes extra time of course.
2. The command "Vanitygen -k 1" runs much faster than all other options, but I think this comes at a heavy cost: If one private key of the batch is compromised, all others becomes vulnerable, due to the fact that vanitygen only performs a new EC multiplication once every 10 million addresses, which is what allows it to be so fast (Please correct me if I'm wrong).