Сразу прошу не забрасывать тапками.
Давно обратил внимание, что программы в Linux работают намного медленнее, чем в Windows, Mac OS X, FreeBSD. Примеров - масса, начиная от архиваторов и заканчивая проигрыванием FullHD в одних и тех же плеерах одних и тех же версий с отключенным аппаратным ускорением. Но вот чтобы не быть голословным, конкретные цифры. Померил в разных системах с помощью одной и той же версии архиватора 7zip командой «7za b». Получил такие результаты:
Linux - 2400 попугаев Windows - 3600 Mac OS X - 3300 FreeBSD - 2900
Удивительно, поразительно, но факт. Проверял несколько раз на только что загруженных системах, никаких задач больше на машинах не крутилось (до запуска 7za top в Linux показывал 99.9 idle). Все системы 32 битные (Mac специально грузил с ключом 32 бита, в 64 - оно быстрее).
Результат меня шокировал. В чём тут дело? Ладно, Windows. Возможно, там компилировали в VC++ и код получился лучше. Но вот в Mac OS X и FreeBSD - откуда прирост? Ведь тот же gcc, притом, там из-за проблем с лицензией - более старый gcc, который делает «худший» код. Linux'ы пробовал разные: gentoo, arch, debian, ubuntu - результат везде идентичен, везде был включён режим performance.
И это просто конкретный пример. То же самое происходит с vlc под разными системами с выключенным аппаратным ускорением. В том же Mac OS X - чуть не в 2 раза быстрее работает, а в Linux видео 1280x720 - уже может тормозить с теми же самыми настройками vlc.
Известная ли это проблема? Или «что я делаю не так»? Откуда такая разница? Ядро? Библиотеки C (так с чего бы?)?