Does this program accept pipes/STDIN/STDOUT? If so, you're in luck.
I will demonstrate with md5sum'ing a large file:
$ pv 2GB.zero | md5sum -
1.56GB 0:00:31 [60.2MB/s] [===============================> ] 80% ETA 0:00:07
f3444be3893c1b9b6fa9dd1acde671a9 -
pv "{filename}" will read the file, pipe it to anything that supports a pipe.
You could also do cat "{filename}"|pv| md5sum -
but then pv would not know how many bytes the file is, thus it would only know how fast it's going, now how much is left.
The possibilities are endless. Whenever you're using a pipe or redirecting to a file, you just add pv in the pipeline to tell you how fast data is going through the pipe! :)