I ran strace reset and saw this near the end:
nanosleep({1, 0}, 0x7fffe32053e0) = 0
Therefore, it intentionally waits a second after sending all terminal codes reset, possibly because some terminals take time to process everything.
You do not need to use reset often (only when the full-screen program is anonymously terminated, so that it does not reset the terminal itself), why is this a big deal?
I'm not sure what you mean by the word "erase my terminal buffer". This is not what reset for.
Barmar
source share