Сколько эти клиенты весят на самом деле
Четыре SSH- и SFTP-клиента, поставленные на один и тот же мак в один и тот же день и замеренные скриптом, который выложен ниже. Размер на диске, число процессов и физическая память при открытом приложении без подключений.
Двух колонок, которых вы вправе ожидать, здесь нет, и причина — в методике: время подключения и скорость передачи нельзя честно снять снаружи графического приложения. Зато можно замерить сам транспорт, и у него отдельная строка.
Числа
Сортируется по любой колонке. Пустая ячейка означает «не измерено», а не «ноль» — причина каждого пропуска расписана ниже.
То же полосами
Размер на диске
Мегабайты после установки
Память в покое
Физический след по всему дереву процессов
Как это читать
Это не замеры скорости. Ничто здесь не говорит, какой клиент быстрее подключается или быстрее возит файлы, потому что этого не мерили — почему, написано ниже.
Измерено другое: во что приложение обходится, пока просто стоит открытым. Место на диске и память при нуле подключений. На ноутбуке с четырьмя запущенными программами это то самое число, которое чувствуется, и именно оно сильнее всего расходится между нативным приложением и тем, которое несёт с собой браузерный движок или среду выполнения Java.
Одна цифра заслуживает недоверия, а не доверия: 510 МБ у Cyberduck. Размер кучи Java выбирается от объёма ОЗУ машины, а не от нужд приложения, поэтому на машине с другой памятью число будет другим. Переносить его на своё железо нельзя.
Методика
Машина. Один MacBook на Apple silicon, macOS 26.5.2, 16 ГБ ОЗУ. Каждый клиент мерился на этой же машине в этот же день, остальные при этом были закрыты.
Размер на диске — du -sm по установленному бандлу.
Память — сумма phys_footprint по всем процессам бандла, снятая системной утилитой footprint. Не RSS: RSS засчитывает разделяемые страницы каждому процессу заново, и у приложения из пятнадцати процессов сумма завышена в разы.
Покой — запущено, оставлено на двадцать пять секунд, ни одного подключения не открыто. Три прогона на клиента, приложение закрывается между прогонами, в таблице медиана.
Рантайм читается из бандла: фреймворк Electron, встроенная JVM или ни того ни другого.
Чего здесь нет намеренно
Четвёртый пропуск, для полноты: ранняя версия скрипта показывала время готовности. У всех трёх клиентов оно вышло между 2240 и 2254 мс — это не свойство приложений, а нижний порог цикла опроса. Метрика мерила скрипт, поэтому убрана, а не опубликована.
Транспорт, замеренный отдельно
Все клиенты из таблицы ходят к тем же серверам по той же сети. Эта часть у них общая, и её замерить можно — просто не по клиентам. Ниже собственные числа OpenSSH на одно подключение и одну отправку 10 МБ по дальнему каналу.
Интересны не сами числа, а их устойчивость. За десять прогонов подключение заняло от 2573 до 2657 мс — разброс три процента. Те же 10 МБ ушли за время от 8,6 до 22,8 секунды, то есть почти втрое. На дальнем канале установка соединения предсказуема, а объёмная передача описывает канал в момент замера, а не программу. Это ещё одна причина, по которой ни одному клиенту в таблице не приписана скорость.
Повторите сами или пришлите свои числа
Оба скрипта — обычный shell, зависимостей сверх того, что есть в macOS, не требуют. sudo не нужен ни одному.
app-footprint.sh меряет установленные клиенты: размер, рантайм, число процессов и память в покое, с выводом в CSV. Он отказывается закрывать приложение, внутри которого запущен сам, — и это не предосторожность впрок: эта таблица получена из терминала внутри одного из измеряемых клиентов, и первая версия скрипта прервала бы собственный прогон.
benchmark.sh меряет транспорт до вашего хоста: ssh host true на подключение, отправку через sftp на передачу, N прогонов, минимум и медиана, дописывается в CSV. Он принудительно ставит ControlMaster=no, потому что с мультиплексированием каждый прогон после первого переиспользует открытый сокет и показывает единицы миллисекунд.
Если запустите любой из них на другом железе или другом канале, ваши числа стоит иметь, и место в таблице для них есть. Пришлите на support@conchshell.app вместе с машиной и датой — попадут с указанием авторства.
Две строки открыты по устройству: у MobaXterm и WinSCP нет сборок под macOS, поэтому здесь они не измерены. Заполнить их может любой, у кого есть машина с Windows.
Где здесь Conchshell, без прикрас
Он самый маленький из четырёх на диске, с большим отрывом, и единственный из четырёх, кто не несёт с собой браузерный движок или среду выполнения Java. Вот и всё утверждение.
Его памяти в покое в таблице нет, и причина не лестная: скрипт запускался из терминала внутри самого Conchshell, то есть приложение держало живую сессию, а не стояло без дела. С этой сессией оно занимало 70 МБ — это верхняя граница, а не покой. Для холодного замера скрипт надо запустить из другого терминала, и число появится, когда это будет сделано.
Что почитать дальше
- Проверка ~/.ssh/config — шифры, MAC и проверка ключа хоста, прямо в браузере
- Проверка публичного SSH-ключа — алгоритм, длина, отпечаток, оценка
- Conchshell в сравнении с двенадцатью клиентами
- Conchshell: SSH, SFTP, FTPS и RDP в одном окне
- Загрузка