top | item 20585970

iTerm2 3.3

439 points| tmvnty | 6 years ago |iterm2.com

183 comments

order
[+] IfOnlyYouKnew|6 years ago|reply
Here's some comparison of input lag:

    # Title              Min    Max   *Avg*   SD
    1 iTerm 3.3.0beta16  11.2   33.6   15.9  3.4
    2 iTerm 3.2.9        10.8   29.5   21.3  4.5
    3 hyper 3.0.2        22.3   46.9   27.6  3.6
    4 Terminal 2.9.1      2.4    8.3    5.8  0.5
    5 Alacritty 0.3.3     5.2   16.8    6.3  1.4
    6 Kitty 0.14.3        7.7   11.6    9.6  0.8
Measured using https://github.com/pavelfatin/typometer

Edit: Added iTerm 3.2.9 (2) added alacritty (3) added Kitty

[+] sonthonax|6 years ago|reply
Could someone explain to me terminal performance and what these numbers practically mean? It's a complete mystery to me. It's so incredibly variable, the fact that I notice variability as a user really perturbs me, it's 2019, and displaying a matrix of a few thousand characters is still a challenge.

I live in fullscreen iTerm, Tmux and Vim. I have 256 colours enabled. Vim has lazy redraw enabled. I'm on a 2018 MacBook pro. Scrolling is smooth only when connected to power (probably related to CPU throttling - but it's 2019 and it shouldn't matter). iTerm is significantly faster than Terminal when resizing Tmux panes and Vim windows. I've had similar issues on Linux.

The only terminal emulator that has decent performance scrolling and resizing Vim buffers Alacritty.

What's going on? Why is there a bottleneck here? Is it rendering the text? Is that still hard to do in 2019? I don't understand the technical challenge of parsing a protocol that would literally work on a real VT100 sans some escape sequences and colours.

[+] chipotle_coyote|6 years ago|reply
This does lend credence to my perception that Terminal is faster. I know everybody else love love loves iTerm2, but I could never get past the feeling of "ugh I am typing in molasses what is going on here." Later versions have been better, but later versions of Terminal have also had more functionality. It's possible I still don't know what I'm missing, but so far the must have features I've tried apparently just weren't ones I must have. (Yes, I know about split panes, but I can run tmux. Yes, I know about iTerm2's tmux integration and I tried it and it was kind of [shrug emoji] for me, I dunno. Terminal has a find-on-page feature and I so far haven't been saddened it doesn't support regex. My shell has autocomplete and iTerm hasn't sold me on its implementation being better. Alfred has a clipboard history and iTerm hasn't sold me on its implementation being better. And so on.)
[+] Peter-Jan|6 years ago|reply
I am running a relatively barebones version of st(https://github.com/Peter-JanGootzen/st) and am getting these numbers on a modern machine.

    # Title Min Max Avg SD
    1 st 12.6 38.1 20.7 6.8
I am quite suprised how low your numbers are(eventough I am aware that comparing between machines is probably unreliable), especially Hyper because my experience with it was that it was really slow compared to other terminal emulators.
[+] ksaj|6 years ago|reply
Is it an OS version issue? I haven't updated my OSX in ages (mainly because I don't like the direction its going, and updating seems to be guaranteed to fuck up my Logic Audio install like it does every damn time), and iTerm runs amazingly smoothly on it as is. I feel no lag with it and I spend a lot of time on the command line (Lisp programmer on vim ... go figure...), so I'm wondering if these numbers even matter after a certain point, or if later OSX versions are doing something crappier than the usual.
[+] Rebelgecko|6 years ago|reply
Was that with or without the GPU rendering enabled?
[+] mikeash|6 years ago|reply
Measuring the time between a simulated keypress and pixels changing in the framebuffer seems kind of inadequate, since it’s missing out on delays in the input and display hardware.
[+] j605|6 years ago|reply
After testing it feels Kate has similar numbers as Terminal mentioned here but most emulators are just as slow. The minimal ones are actually worse off.
[+] capnahab|6 years ago|reply
Are these milliseconds? The visual evoked response latency ( time taken from the eye to electrical activity in the occipital cortex ) is about 88 ms in Women and 92 ms in men. There will be additional time for the visual object ( eg cursor) to be processed and appreciated in higher centres.
[+] warvair|6 years ago|reply
Pease test ZOC Terminal: https://www.emtec.com/zoc/.

I use it on Windows, like it very much, and don't notice any lag. I'm wondering how it compares to the rest of these on a Mac.

[+] norswap|6 years ago|reply
Is that milliseconds? Aren't those values in the non-noticeable range? I tracked a paper recently saying that users don't notice feedback for less than ~96ms (a bit less in some scenarios).
[+] penagwin|6 years ago|reply
I'm I reading that right that the input lag has increased on average? And while the minimum might have improved by .4 or is within measurement error?
[+] ed|6 years ago|reply
@gnachman Thank you for iTerm! Despite major workflow changes, iTerm has remained my daily driver for years.

If you in a position to support free software, I kindly suggest donating to George's Patreon: https://www.patreon.com/gnachman/

[+] stevewillows|6 years ago|reply
When I moved back from the betas, the minimal theme is what I missed the most. Its so clean. Combine that with the status bar at the bottom, and I'm in heaven.

It's one of the few pieces of software that I really miss when I'm on my linux boxes -- even if its purely aesthetic.

edit: if you want your status bar at the bottom, Prefs > Appearance > General > Status Bar Location

[+] eklavya|6 years ago|reply
Don't see the status bar, or there isn't anything in the status bar :(
[+] tathagatadg|6 years ago|reply
thanks - was trying to figure out how to get it to the bottom! IMHO, it should be default bottom!
[+] eddyg|6 years ago|reply
Kudos to Mr. Nachman on continuing to develop a terrific piece of macOS software!

I've been running the 3.3 betas for a while and some of the new functionality is really great. Exporting a recording of a terminal session from the "Instant Replay" panel is very handy!

[+] 0xakhil|6 years ago|reply
For a person who is comfortable with Tmux, is there any significant benefit that iTerm offers over the Terminal.app? I believe Terminal.app is better than other consoles when it comes to power consumption.
[+] jakear|6 years ago|reply
I also see little benefit over Terminal.app. Plus Terminal.app has much better performance with infinite scroll back, especially when dumping large streams
[+] kccqzy|6 years ago|reply
If you like tmux, you should try the tmux integration feature in iTerm. It makes tmux windows native windows, and tmux panes native panes.
[+] wincent|6 years ago|reply
For me it's the little things like being able to hide all window chrome (and there are a lot of little things...)
[+] digitalsushi|6 years ago|reply
If windows had iTerm2, I am pretty sure I could let my last mac go. Everything we have for windows is as good as a piece of iTerm2, but none of them bring it all together.
[+] kv0|6 years ago|reply
I'm pretty happy with ConEmu [0] and the linux-shell on Windows after years of using OSX.

[0]:https://conemu.github.io/

[+] nikanj|6 years ago|reply
Wsltty is decent enough
[+] tedmiston|6 years ago|reply
[+] jarpineh|6 years ago|reply
Yes. Now I can finally script shell and terminal colors changes for day/night/late night. Tmux and status bar control API should let me get all the magic out of Zsh prompt.
[+] kbd|6 years ago|reply
Happy to see a scripting API but struggling to think what I'd use it for. What are some things y'all are thinking of doing with it?
[+] dstroot|6 years ago|reply
Anyone using Hyper? I played with it but pretty quickly reverted back to iTerm2. In fact iTerm2 is basically the first thing I install on a new system along with ZSH/Oh my ZSH.
[+] IfOnlyYouKnew|6 years ago|reply
Hyper is usable, and it has become rather fast when they switched the backend a few months ago. It's real promise is in scriptability, and, unfortunately, there aren't any must-have extensions for it.

I think there are quite a few low-hanging fruits for the terminal, such as better integration with documentation or using an actually good language such as ruby directly on the command line. If I ever get around to try some of those ideas, I'd use Hyper as the platform.

[+] jacquesc|6 years ago|reply
I tried a few times switching to Hyper. Loved the idea, but it's just nowhere near ready. I'm fine trading performance for scriptability / functionality. But spending hours just trying to get Hyper script opening new tabs was an exercise in frustration. And half the plugins I tried didn't work. Ecosystem is pretty messy and features are lacking.

Switching to iTerm2 has been amazing. And with the new design in 3.3, I'm loving it even more.

[+] penagwin|6 years ago|reply
I love the idea of how extensible it is, but I haven't found any practical ways to extend it yet. As mentioned the list of public extensions isn't great - Shaking my terminal with each letter is fun I guess for 30 seconds.

Unless I find more creative ways to use it, I'm sticking with terminal.app because it's basically the lowest input delay terminal out there.

[+] suhail|6 years ago|reply
Buggy. They broke clear recently. Copying and pasting is strangely difficult. It’s not as good. Settings through a json file is fairly confusing & esoteric at times.
[+] powerbook5300CS|6 years ago|reply
I like having options but wouldn’t recommend iTerm.

Apple’s Terminal.app is more performant rendering text and more responsive to input while admittedly having somewhat less unnecessary features.

In fact, iTerm is one of the slowest terminals out there!

See: https://danluu.com/term-latency/

iTerm used to have a lot of really compelling stuff that was missing from the official terminal like tabs, etc... that made straying away from the canonical terminal app worth it but most of them eventually made their way to Terminal.app so nowadays it’s mostly just fluff.

[+] mevile|6 years ago|reply
I have found the new design around the tabs to be very nice. The status bar looks neat, but it doesn't seem to carry over to tabs created by tmux sessions so I never see it. I also wish there was a way to put that status bar at the bottom.
[+] Keyframe|6 years ago|reply
I moved away from MacOS on my desktop/workstation to Linux and one of the things I've missed actually was iTerm2. Really great terminal altogether. However, I found a great replacement, even better in some ways - Kitty!
[+] ridiculous_fish|6 years ago|reply
iTerm2 is a treasure. Such a great app.

The new minimal and compact themes look great. Is it possible to drag the window when they are active? It looks like the drag region is reduced to a small area around the stoplight buttons.

[+] lordleft|6 years ago|reply
iTerm2 is my go-to terminal on OS X. It used to be kind of sluggish but recent iterations have been snappy, which is exactly what I need with the command-line.
[+] ibejoeb|6 years ago|reply
Just switched back to Terminal.app because iTerm is a bit of an energy hog. I run a pretty stock bash shell. Anyone else? Any tips for improving it?
[+] jarpineh|6 years ago|reply
I’ve been using betas for a while now. Update check don’t seem to notice new releases so I was running old version for longest time before I noticed. Speaks to beta cycle’s stability.

iTerm is one app that is always on and in use. Especially thanks to its fast full screen switching and transparent tmux integration. I’ve been contributing through Patreon and consider that money well spent.

[+] throwaway13000|6 years ago|reply
Thanks for the release. Excited about the scripting API. Sometime I wanted to add "autocomplete" features to iTerms (just like on phones), but the completion predictions will be sourced from stackoverflow. When user types a part of the command, I was planning to add an extra line to the current list of predictions (which are taken from bash command history). Unfortunately, append operation was not supported because of the way the code was written(by the time key is pressed, list is already populated and sent to the handler). So, I could not proceed then.

Hopefully this python API fixes the problem.

[+] buu700|6 years ago|reply
iTerm is awesome, thanks for the great work! Using macOS without an alternative to Yakuake would have been extremely painful.

Two pain points I'm running into with this release:

1. The tab titles just say the profile name (in my case, "Quake-style") rather than the foreground process name (bash, curl, etc.). It's subtle, but annoying given that I've become accustomed to relying on that information to quickly differentiate between tabs.

2. When I close every open tab and then re-open iTerm with my hotkey (F12), it starts off minimized and I have to drag the cursor over to the dock to manually open the window.

[+] weiming|6 years ago|reply
"- Add touch bar mitigations: haptic feedback, key click, and blink cursor when touching esc."

Thank you for this! Can't believe how many times per day I accidentally trigger touch bar Esc.

[+] locusofself|6 years ago|reply
Honest question for the folks complaining about input lag, does this actually effect your typing of text/commands into the terminal? I feel like I am particularly sensitive to latency in the audio world (such as recording though effects or using virtual instruments), but I work all day long in iTerm2 and never once have I thought to myself that text is not appearing fast enough as I type it. Is this problem exacerbated when like pasting a huge chunk of text into vim or something?