Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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


I wasn't talking about startup speed as that can be ignored given the kind of shells and configs we use these days which will consume most of the start time.

What I was talking about were things like how much memory overhead the emulator has and how fast it paints stuff or how quickly it responds. Some things were slower in urxvt and then some things didn't work as correctly as in xterm, so I didn't bother configuring urxvt for more speed. st, on the other hand, wasn't faster and actually was heavier memory-wise when I tried it the last time.


I ran some benchmarks with perf stat a while back, consisting of displaying a multi-MB text file on screen. st was a lot slower than urxvt, but on par with VTE based terminals. urxvt has other problems though, so I'll stick with st.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: