LINUX.ORG.RU
ФорумTalks

Общая производительность в Linux


0

0

Сразу прошу не забрасывать тапками.

Давно обратил внимание, что программы в 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 (так с чего бы?)?


Ответ на: комментарий от anon_666

кстати - а как ты его прикрутить то собрался? о_О

megabaks ★★★★
()
Ответ на: комментарий от megabaks

что-то типо
7z b -mmt1 -md25

мне после некоторых размышлений стало непонятно, откуда всё-таки такой выигрыш у виндовс-версии, даже под вайном

Hokum ☆☆☆☆
()
Ответ на: комментарий от megabaks

и да - я так и не понял - с какой версией гцц был собран арх-р у ТС-а...

megabaks ★★★★
()
Ответ на: комментарий от anon_666

чо? о_О
при чём здесь уровни? о_О
какая версия гцц?
какой проц?
какие флаги?
и т.д. и т.п. - иначе тест аля похороникс!

megabaks ★★★★
()
Ответ на: комментарий от anon_666

тю - а где мне взять виндовый? и где мне его гонять?
рак моей генте не нужен - поэтому вино нах сразу же не задумываясь
есть комп с виндой рядом - но там другой проц - тест уже будет не корректный
чо делать? )

megabaks ★★★★
()
Ответ на: комментарий от anon_666

о_О?
упоролся чтоль опять?
гонять тесты надо на одной машине - а они разные, тем более какой-нибудь лайф и моя гента как бэ разные вещи, оха?
или ты хотел чтоб я подорвался ставить винду на комп с гентой? о_О

megabaks ★★★★
()
Ответ на: комментарий от megabaks

Подумай сам, млин.
~90% времени проц исполняет код программы,
~10% времени он в ядре\libc.

Отличия будут в пределах погрешности.

anon_666
()

Померил в разных системах с помощью одной и той же версии архиватора 7zip командой «7za b». Получил такие результаты:Linux - 2400 попугаев...

который из них попугаи?

megabaks@desktop ~ $ 7za b

7-Zip (A) 9.13 beta  Copyright (c) 1999-2010 Igor Pavlov  2010-04-15
p7zip Version 9.13 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

RAM size:    2025 MB,  # CPU hardware threads:   2
RAM usage:    425 MB,  # Benchmark threads:      2

Dict        Compressing          |        Decompressing
      Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
       KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

22:    3784   158   2325   3681  |    50726   184   2494   4580
23:    3724   159   2382   3794  |    48918   180   2483   4479
24:    3677   162   2442   3953  |    48657   182   2485   4515
^C25:    3615   165   2505   4127


Break signaled
megabaks@desktop ~ $
и да - фоном с distcc собирается мир для нетбука

megabaks ★★★★
()
Ответ на: комментарий от anon_666

чо? о_О
кстати мне тут подсказывают:
«в p7zip есть вариант сборки с asm вставками, который по умолчанию отключен
поэтому вся ваша дискуссия там скорее о том, насколько хорошо поработали те, кто раскидал lzma sdk на asm
makefile.machine
там есть шаблоны
для icc
gcc
с асм и без
по умолчанию - CFLAGS -O и нет asm»
думаем, господа :)

megabaks ★★★★
()
Ответ на: комментарий от megabaks

А собиравшие под лин все поголовно интересные личности?

anon_666
()
Ответ на: комментарий от megabaks
$ time wine ~/.wine/drive_c/Program\ Files/7-Zip/7z.exe b -mmt2 -md25

7-Zip 9.13 beta Copyright (c) 1999-2010 Igor Pavlov 2010-04-15

RAM size: 2047 MB, # CPU hardware threads: 2
RAM usage: 425 MB, # Benchmark threads: 2

Dict Compressing | Decompressing
Speed Usage R/U Rating | Speed Usage R/U Rating
KB/s % MIPS MIPS | KB/s % MIPS MIPS

22: 2711 122 2164 2638 | 40667 156 2360 3671
23: 2798 129 2202 2851 | 39798 154 2362 3644
24: 2802 134 2241 3013 | 38565 153 2344 3578
25: 2739 136 2299 3128 | 37853 152 2345 3560
----------------------------------------------------------------
Avr: 130 2226 2907 154 2353 3613
Tot: 142 2290 3260

real   0m40.379s
user   0m54.266s
sys   0m2.110s
$ time 7z b -mmt2 -md25

7-Zip [64] 9.13 beta Copyright (c) 1999-2010 Igor Pavlov 2010-04-15
p7zip Version 9.13 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

RAM size: 3958 MB, # CPU hardware threads: 2
RAM usage: 425 MB, # Benchmark threads: 2

Dict Compressing | Decompressing
Speed Usage R/U Rating | Speed Usage R/U Rating
KB/s % MIPS MIPS | KB/s % MIPS MIPS

22: 3338 144 2260 3247 | 36886 150 2217 3330
23: 3246 146 2273 3307 | 37687 156 2208 3450
24: 3160 146 2323 3398 | 36590 154 2212 3395
25: 3104 150 2369 3544 | 35983 154 2197 3384
----------------------------------------------------------------
Avr: 146 2306 3374 153 2209 3390
Tot: 150 2257 3382

real   0m38.116s
user   0m55.333s
sys   0m1.610s

Кто-нибудь имел дело с icc? Почему-то я разницы в итоге особой с gcc не увидел...

Hokum ☆☆☆☆
()
Ответ на: комментарий от megabaks

сейчас попробую ещё один вариант выполнения...

ICC 11.1 Linux x86_64

7-Zip (A) [64] 9.13 beta  Copyright (c) 1999-2010 Igor Pavlov  2010-04-15
p7zip Version 9.13 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

RAM size:    3958 MB,  # CPU hardware threads:   2
RAM usage:    419 MB,  # Benchmark threads:      1

Dict        Compressing          |        Decompressing
      Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
       KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

22:    2309    98   2286   2246  |    25488    99   2330   2301
23:    2248    99   2310   2290  |    24954    98   2329   2284
24:    2152    99   2342   2314  |    24805    99   2326   2301
25:    2059    99   2380   2352  |    24245    99   2304   2280
----------------------------------------------------------------
Avr:           99   2329   2300                99   2322   2292
Tot:           99   2326   2296

Wine64
wine64 ~/.wine/drive_c/Files/7-Zip/7z.exe b -mmt1 -md25

7-Zip [64] 9.13 beta  Copyright (c) 1999-2010 Igor Pavlov  2010-04-15

RAM size:    3958 MB,  # CPU hardware threads:   2
RAM usage:    419 MB,  # Benchmark threads:      1

Dict        Compressing          |        Decompressing
      Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
       KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

22:    2264    98   2248   2202  |    25857    99   2356   2334
23:    2213    98   2298   2255  |    25316    98   2362   2318
24:    2133    98   2336   2294  |    25126    99   2355   2331
25:    2032    98   2365   2320  |    24562    99   2345   2310
----------------------------------------------------------------
Avr:           98   2311   2268                99   2354   2323
Tot:           98   2333   2295

Hokum ☆☆☆☆
()
Ответ на: комментарий от megabaks

Intel core2duo E6550
Тут важно не абсолютное значение, а сравнение вендового и линуксового бинарников

Hokum ☆☆☆☆
()
Ответ на: комментарий от megabaks

короче - Core2Duo E7200 разогнан до 3.05 (3 метра 2-го кэша)
-O2 -march=core2 -ftree-vectorize -msse4.1 -g0 -Wno-all

megabaks@desktop ~ $ 7za b

7-Zip (A) 9.13 beta  Copyright (c) 1999-2010 Igor Pavlov  2010-04-15
p7zip Version 9.13 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

RAM size:    2025 MB,  # CPU hardware threads:   2
RAM usage:    425 MB,  # Benchmark threads:      2

Dict        Compressing          |        Decompressing
      Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
       KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

22:    3879   153   2467   3774  |    51602   186   2509   4659
23:    3742   154   2481   3813  |    50648   186   2496   4637
24:    3728   156   2563   4009  |    50105   187   2489   4649
25:    3655   159   2625   4173  |    49322   186   2497   4639
----------------------------------------------------------------
Avr:          156   2534   3942               186   2498   4646
Tot:          171   2516   4294
megabaks@desktop ~ $ 7z b -mmt2 -md25 

7-Zip 9.13 beta  Copyright (c) 1999-2010 Igor Pavlov  2010-04-15
p7zip Version 9.13 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

RAM size:    2025 MB,  # CPU hardware threads:   2
RAM usage:    425 MB,  # Benchmark threads:      2

Dict        Compressing          |        Decompressing
      Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
       KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

22:    3628   154   2299   3529  |    48811   189   2334   4407
23:    3555   154   2349   3622  |    48299   189   2337   4422
24:    3512   157   2406   3776  |    47571   188   2344   4414
25:    3483   158   2512   3976  |    46871   188   2339   4408
----------------------------------------------------------------
Avr:          156   2391   3726               189   2339   4413
Tot:          172   2365   4069
megabaks@desktop ~ $ 
без асьмы ~x86 gcc-4.5.1(релиз)

megabaks ★★★★
()
Ответ на: комментарий от megabaks

а надо было и вайн показать.
У меня в итоге получилось, что особой разницы нет по скорости.

Знать бы, чем и как собирали вендовый бинарник...

Hokum ☆☆☆☆
()
Ответ на: комментарий от anon_666

>Подумай сам, млин.
я уже подумал!
ты упорот!
про латентность, скорость переключения планировщика, сам планировщик...это тебе о чём то говорит?

megabaks ★★★★
()
Ответ на: комментарий от megabaks

лучше на одном проце мерять, а то usage слишком уж разным может быть. В один поток вроде всегда 98-99%

Hokum ☆☆☆☆
()
Ответ на: комментарий от megabaks

makefile.machine

Так это понятно. Лично я специально устанавливал nasm, который там упомянут, копировал makefile.linux_x86_asm_gcc_4.X, и даже руками добавлял туда -O3 -msse3. GCC упорно отстаёт при любых параметрах, игрался и с -march=core2, и т.д.

Кстати, там, где Вы про sse4.1 писали - не совсем корректно. Виндовая версия 7zip работает и на старых процессорах.

Скажу честно - прямо расстроился. Это же представьте, какой глобальный недолив получается по всей системе в Linux и BSD (там вообще старый GCC).

maxkit
() автор топика
Ответ на: комментарий от maxkit

Предлагаю всё же сделать запрос аффторам, какими компиляторами и с какими параметрами собраны их бинарники.
Так как сборка icc под линукс дала параметры близкие к вендовому бинарнику под вайном.

Hokum ☆☆☆☆
()
Ответ на: комментарий от Hokum

да - разница есть - но не такая как у ТС

вино
megabaks@desktop ~ $ wine /var/ftp/stuff/7za913/7za.exe b

7-Zip (A) 9.13 beta  Copyright (c) 1999-2010 Igor Pavlov  2010-04-15

RAM size:    2025 MB,  # CPU hardware threads:   2
RAM usage:    425 MB,  # Benchmark threads:      2

Dict        Compressing          |        Decompressing
      Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
       KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

22:    4571   153   2911   4447  |    64378   188   3084   5812
23:    4486   156   2930   4571  |    62703   188   3057   5741
24:    4377   157   2992   4707  |    61881   188   3052   5742
25:    4302   159   3080   4912  |    60519   187   3037   5692
----------------------------------------------------------------
Avr:          156   2978   4659               188   3058   5747
Tot:          172   3018   5203
megabaks@desktop ~ $
натив
megabaks@desktop ~ $ 7za b

7-Zip (A) 9.13 beta  Copyright (c) 1999-2010 Igor Pavlov  2010-04-15
p7zip Version 9.13 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

RAM size:    2025 MB,  # CPU hardware threads:   2
RAM usage:    425 MB,  # Benchmark threads:      2

Dict        Compressing          |        Decompressing
      Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
       KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

22:    3927   156   2452   3820  |    52513   185   2564   4741
23:    3817   156   2496   3889  |    52470   188   2557   4804
24:    3792   159   2559   4078  |    51732   188   2552   4800
25:    3698   160   2634   4222  |    51175   188   2562   4813
----------------------------------------------------------------
Avr:          158   2535   4002               187   2559   4790
Tot:          172   2547   4396
megabaks@desktop ~ $ 
ща попробую что-ньть ещё выжать

megabaks ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.