Filtering human reads from WGS dataset

I will look for viruses and bacteria in human WGS data and wonder what is the recommended tool for filtering host (human) reads from the WGS data? Since the WGS data is huge I need to perform some filtering before looking for microbes in the data.
I have considered the following tools, but I am not sure which is best (if any difference) in the case of WGS of human samples:

KneadData,
Kontaminant,
BBDuk