In the event that the snapd service is not running, the snap client can spend a large amount of time trying to connect to it and ultimately failing. The expectation is that since snap comes already installed in several linux distros that the socket is placed in the same place.
$ # with the check
$ time ./screenfetch-dev
real 0m0.680s
user 0m0.389s
sys 0m0.260s
$ # without the check
$ time screenfetch
real 2m0.908s
user 0m0.632s
sys 0m0.501s
An alternative fix to #740