One interesting tool for this purpose has surface recently. It is called massscan and the code for it can be found in this GitHub repository.
A quote from the README.
This is the fastest Internet port scanner. It can scan the entire Internet in under 6 minutes, transmitting 10 million packets per second.
It produces results similar to nmap, the most famous port scanner. Internally, it operates more like scanrand, unicornscan, and ZMap, using asynchronous transmission. The major difference is that it's faster than these other scanners. In addition, it's more flexible, allowing arbitrary address ranges and port ranges.
This appears to be rather fast but it may be too noisy depending on the environment you are scanning. The README has more information on how the tool works so you might want to investigate this further.