Downloading and extracting large tarballs usually takes plenty of time. Extracting tarballs during the their transfer reduces the waiting time because you a) don’t need to do wait for the transfer to finishes before starting the extraction and b) the machine doesn’t have to read the tarball from the disk while simultaneously writing to it.
One way to extract tarballs on the fly while downloading them is using wget to fetch the file and piping it’s output (the downloaded data) to tar.
wget --user="username" --password="my secret password" -O - "ftp://foo.bar/foobar.tgz" | tar -xvzf -
Hint: You may want to turn hoff Bash’s history expansion if your username or password contains exclamation marks. The fastest way doing so is starting a new bash process with the corresponding argument (+H):