I made quick comparison by editing lowest_key=1000000 and number_of_batches=82 ...
what was the reason therefore? lowest_key is just the number to start the consecutive run IMHO. And I doubt that you generated 1,007,862 MILLION (!) in 1.6 seconds

You have just generated 1007862 Millions of keys!!!
real 0m1.626s
With number_of_batches = 82 you should have been generated <=1million keys which the result for of 1.6 is realistic.
We should take into consideration that arulbero's way does not save the generated addresses, we need to rewrite the code and see how it behaves.
@arulbero:
thanks for sharing, sounds interesting. I need to dig into it, unfortunately I have to go right now but I certainly will check your code later when back at home. I need to think about the consecutive vs. random part and make some comparisons each other. Currently when I run your code I can generate 1 million addresses in average of 1.22 seconds. I just need to test if this speed is realistisc, I need to output the addresses to a file. See you later