I did a small experiment to see if st would actually be much snappier. Font rendering was a little worse but that was tolerable.
ST is fast (as expected)
$ time $(for i in `seq 1 100`; do st -e true &> /dev/null ; done)
real 0m5.493s
user 0m4.417s
sys 0m0.647s
URxvt is a little slower (but traditional wisdom should tell you that if it is actually so small that you need to measure it to perceive the difference, the difference probably doesn't matter) $ time $(for i in `seq 1 100`; do urxvt -e true &> /dev/null ; done)
real 0m11.099s
user 0m9.780s
sys 0m0.853s
URxvt client (with a separately launched urxvtd) is faster than st. $ time $(for i in `seq 1 100`; do urxvtc -e true &> /dev/null ; done)
real 0m4.593s
user 0m0.007s
sys 0m0.017s
Given how solid urxvt has been for me over the years, and given that I run urxvtc already, I don't see why switching to st would help (the argument against featuritis can obviously be made, but urxvt is fairly minimal as well).Note: I do not know how it would affect it, but I also have a .Xdefaults that sets fonts, colors etc for URxvt.
Edit:
adding xterm to the comparison since some sibling comment mentioned it
$ time $(for i in `seq 1 100`; do xterm -e true &> /dev/null ; done)
real 0m8.525s
user 0m2.777s
sys 0m0.770s