Среды выполнения Windows-приложений

Выполнение Windows приложений (.exe) без виртуальных машин

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Среды выполнения Windows-приложений

Непрочитанное сообщение Olej » 24 окт 2011, 13:35

Olej писал(а):тесты, активно дёргающие системные библиотеки: тест диска (?), тест видеоподсистемы (?), ...
Но это легче сказать, чем сделать :-?

http://www.benchmarkhq.ru/russian.html?/b_hdd.html :

hdtune.exe - под Wine просто не видит никаких дисков, при том, что у меня стоит 2 физических диска - и это будет для многих-многих тест-утилит низкоуровневых под Wine :-(
...
chddspeed.exe - простенькая (даже примитивная) консольная утилита, что-то русского происхождения, имеющее русскоязычный readme.txt :
1. Поскольку данной программой используются высокоуровневые API WIN32,
результаты тестов могут не отражать фактической производительности
тестируемого оборудования.

- может это именно то, что и надо? ;-) ... поскольку нас совершенно не интересует "фактическая производительность тестируемого оборудования"(с), а интересуют именно "высокоуровневые API WIN32"(с)...

Оно даже с исходными текстами есть (хотя это даже исходными текстами язык не поворачивается назвать из-за простоты, что и хорошо: высокоуровневые API, можно что и подправить если не понравится). Со своими высокоуровневыми API оно очень растеряно чувствует под Wine :lol: , не понимает куда оно попало :lol: , но ... шевелится:

Код: Выделить всё

[olej@nvidia chddspeed]$ wine chddspeed.exe z:
Block device benchmark test suite version 0.1. Copyright (c) Nop, 2002
Mail questions to nnop@newmail.ru

drive z: information: block_size=512, n_blocks=330547776
can't open drive

[olej@nvidia chddspeed]$ sudo wine chddspeed.exe z:
Block device benchmark test suite version 0.1. Copyright (c) Nop, 2002
Mail questions to nnop@newmail.ru

drive z: information: block_size=512, n_blocks=330547776
Multisector read test
---------------------------
       N Blocks         N Reps        Time,ms     Speed,MB/s
              1           1000             16      30.517578
             11           2000             83     129.423946
             21           4000            356     115.212430
...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Среды выполнения Windows-приложений

Непрочитанное сообщение Olej » 24 окт 2011, 14:44

Olej писал(а): chddspeed.exe - простенькая (даже примитивная) консольная утилита,
Можно даже так считать, что это не тест вовсе, а рядовая программа, активно работающая с диском, причём работающая с ним высокоуровневыми API, т.е. то, что будут делать и пользовательские приложения (здесь как-раз изощрённые низкоуровневые API, адекватные именно для производительности HDD, были бы неуместны)...

Вот мои первые прогоны (там излишне много, но оно стоит того, чтоб его вкопировать ;-) ):
- log_wine_c :

Код: Выделить всё

Block device benchmark test suite version 0.1. Copyright (c) Nop, 2002
Mail questions to nnop@newmail.ru

drive c: information: block_size=512, n_blocks=330547776
Multisector read test
---------------------------
       N Blocks         N Reps        Time,ms     Speed,MB/s
              1           1000             10      48.828125
             11           2000             21     511.532738
             21           4000             41    1000.381098
             32           8000             92    1358.695652
             42          16000            207    1585.144928
             53          32000            556    1489.433453
             63          32000            590    1668.432203
             74          32000            589    1963.073005
             84          32000            589    2228.353141
             95          32000            591    2511.632826
            105          32000            411    3991.788321
            116          64000            983    3687.690743
            126          64000           1126    3496.891652
            137          64000           1181    3625.105843
            147          64000           1181    3889.712108
            158          64000           1176    4198.554422
            168          64000           1153    4553.339115
            179          64000           1180    4740.466102
            189          64000           1179    5009.541985
            200          64000           1183    5283.178360
Random read test
---------------------------
   Random range         N reps        Time,ms     Speed,MB/s
      330547776            100              4      12.207031
      165273888            200              8      12.207031
       82636944            400             15      13.020833
       41318472            800             30      13.020833
       20659236           1600             61      12.807377
       10329618           3200            119      13.130252
        5164809           6400            236      13.241525
        2582404          12800            475      13.157895
        1291202          25600            922      13.557484
         645601          51200           1899      13.164824
         322800         102400           3805      13.140604
         161400         204800           7548      13.248543
          80700         204800           7573      13.204807
          40350         204800           7573      13.204807
          20175         204800           7559      13.229263
          10087         204800           7584      13.185654
           5043         204800           7567      13.215277
           2521         204800           7557      13.232764
           1260         204800           7563      13.222266
            630         204800           7564      13.220518
            315         204800           7565      13.218771
            157         204800           7575      13.201320
             78         204800           7563      13.222266
             39         204800           7581      13.190872
             19         204800           7562      13.224015
              9         204800           7572      13.206550
              4         204800           7575      13.201320
              2         204800           7556      13.234516
- log_VBox_c :

Код: Выделить всё

Block device benchmark test suite version 0.1. Copyright (c) Nop, 2002
Mail questions to nnop@newmail.ru

drive C:\ information: block_size=512, n_blocks=20948696
Multisector read test
---------------------------
       N Blocks         N Reps        Time,ms     Speed,MB/s
              1           1000            125       3.906250
             11           2000            281      38.228425
             21           4000            562      72.981539
             32           4000            563     111.012433
             42           4000            703     116.687411
             53           4000            719     143.971662
             63           4000            750     164.062500
             74           4000            719     201.017038
             84           4000            766     214.180809
             95           4000            782     237.272219
            105           4000            781     262.584027
            116           4000            859     263.751455
            126           4000            891     276.199495
            137           4000           1015     263.623768
            147           4000           1766     162.576090
            158           4000            984     313.611535
            168           4000           1438     228.181502
            179           4000           1562     223.821623
            189           4000           1469     251.287015
            200           4000           1313     297.505712
Random read test
---------------------------
   Random range         N reps        Time,ms     Speed,MB/s
       20948696            100            406       0.120266
       10474348            200           1031       0.094720
        5237174            400           2625       0.074405
        2618587            800           3766       0.103724
        1309293           1600           4109       0.190131
         654646           1600            235       3.324468
         327323           3200            437       3.575515
         163661           6400            906       3.449227
          81830          12800           1735       3.602305
          40915          25600           3515       3.556188
          20457          51200           7078       3.532071
          10228          51200           7016       3.563284
           5114          51200           6984       3.579611
           2557          51200           7016       3.563284
           1278          51200           7016       3.563284
            639          51200           7000       3.571429
            319          51200           6968       3.587830
            159          51200           7032       3.555176
             79          51200           7000       3.571429
             39          51200           7015       3.563792
             19          51200           7032       3.555176
              9          51200           6984       3.579611
              4          51200           7016       3.563284
              2          51200           7015       3.563792
Скорость на последовательном чтении отличается больше 10 раз (5000 и 300), на случайном - в 4 раза (13 и 3.5).
Вот это уже существенно.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Среды выполнения Windows-приложений

Непрочитанное сообщение Olej » 24 окт 2011, 16:29

И последний из 3-х результат - для нативной установки Windows XP на отдельный HDD:
- log-WinXP.txt :

Код: Выделить всё

Block device benchmark test suite version 0.1. Copyright (c) Nop, 2002
Mail questions to nnop@newmail.ru

drive C:\ information: block_size=512, n_blocks=102430376
Multisector read test
---------------------------
       N Blocks         N Reps        Time,ms     Speed,MB/s
              1           1000             62       7.875504
             11           2000            172      62.454578
             21           4000            375     109.375000
             32           8000           1188     105.218855
             42           8000           1547     106.052036
             53           8000           2265      91.404525
             63           8000           2344     104.988801
             74           8000           2844     101.639416
             84           8000           3094     106.052036
             95           8000           3859      96.163190
            105           8000           3906     105.006720
            116           8000           4313     105.060283
            126           8000           5000      98.437500
            137           8000           5234     102.246131
            147           8000           5422     105.905339
            158           8000           5844     105.610455
            168           8000           6281     104.481770
            179           8000           6656     105.050894
            189           8000           7016     105.228228
            200           8000           7469     104.599009
Random read test
---------------------------
   Random range         N reps        Time,ms     Speed,MB/s
      102430376            100           1046       0.046681
       51215188            200           1969       0.049597
       25607594            400           3438       0.056810
       12803797            800           6734       0.058008
        6401898            800           5953       0.065618
        3200949            800           5719       0.068303
        1600474            800           5391       0.072459
         800237            800           5015       0.077891
         400118            800           5250       0.074405
         200059            800           5188       0.075294
         100029            800           4281       0.091246
          50014            800           4125       0.094697
          25007            800           3156       0.123772
          12503           1600           3750       0.208333
           6251           3200            813       1.921894
           3125           6400            859       3.637951
           1562          12800           1688       3.702607
            781          25600           3453       3.620041
            390          51200           6843       3.653368
            195          51200           6735       3.711952
             97          51200           6703       3.729673
             48          51200           6828       3.661394
             24          51200           6688       3.738038
             12          51200           6640       3.765060
              6          51200           6360       3.930818
              3          51200           6046       4.134965
Смешно, да? :lol:

Портит результаты то, что эта нативная установка Windows XP у меня на другой винчестер:

Код: Выделить всё

[olej@nvidia images]$ sudo hdparm -i /dev/sdb

/dev/sdb:

 Model=STM3160318AS, FwRev=CC35, SerialNo=9VY0E3WK
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=312581808
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: unknown:  ATA/ATAPI-4,5,6,7

 * signifies the current active mode
А Wine & VirtualBox крутятся на том винчестере где стоит Linux:

Код: Выделить всё

[olej@nvidia images]$ sudo hdparm -i /dev/sda

/dev/sda:

 Model=WDC WD2500AAKX-001CA0, FwRev=15.01H15, SerialNo=WD-WMAYU0425651
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
 BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=488397168
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

 * signifies the current active mode
А Windows он, как известно, тупой, и Linux-винчестер ему невидимый и не доступный, чтобы указать.
Но я думаю, что результаты на относительно соизмеримых винчестерах могли бы отличаться на проценты (пусть и многие), но не в разы...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Среды выполнения Windows-приложений

Непрочитанное сообщение Olej » 24 окт 2011, 17:02

Olej писал(а):Но я думаю, что результаты на относительно соизмеримых винчестерах могли бы отличаться на проценты (пусть и многие), но не в разы...
Вот, пусть может и грубо, сравнение:
- винчестер Linux, на файловой системе которого крутятся Wine & VirtualBox:

Код: Выделить всё

[olej@nvidia images]$ sudo hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  364 MB in  3.01 seconds = 121.00 MB/sec
- винчестер, на котором крутится нативная установка Windows XP:

Код: Выделить всё

[olej@nvidia images]$ sudo hdparm -t /dev/sdb

/dev/sdb:
 Timing buffered disk reads:  320 MB in  3.01 seconds = 106.24 MB/sec
20%

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Среды выполнения Windows-приложений

Непрочитанное сообщение Olej » 24 окт 2011, 17:22

Olej писал(а): Смешно, да? :lol:
Любопытно? :

- "колебательность" результатов для последовательного доступа реального WinXP похоже подтверждает, что "всё правильно": как приближаемся снизу к размеру блока в 1 дорожку (63 сектора) - так начинаются "биения";

- то что WinXP & VirtualBox читают диск (каждый в меру своего понимания того что есть диск), а Wine - кэшированную файловую систему ext4 (то, как различия Wine спадают при переходе от последовательного чтения к случайному - это подтверждает) ... это делает результаты слабо соизмеримыми;

- а вот то, что скорости работы с диском (особенно на случайном доступе) реального WinXP и VirtualBox практически равны (даже до множителя, учитывающего различие в производительности физических винчестеров)... для меня это большая неожиданность.

В конце концов, мерять производительность - не моя задача, это пусть у производителей и их рекламистов головы болят ;-) ... а вот то, что VM в VirtualBox мы пока не видим существенного проигрыша реальному Windows XP ни по одному из показателей? ... странно это...

P.S.
Это то, что Linux даёт о диске установки Windows XP:

Код: Выделить всё

[olej@nvidia images]$ sudo hdparm -t /dev/sdb

/dev/sdb:
Timing buffered disk reads:  320 MB in  3.01 seconds = 106.24 MB/sec
и то, что реальный Windows XP даёт о своём диске (в тесте последовательного чтения большого блока):

Код: Выделить всё

            158           8000           5844     105.610455
            168           8000           6281     104.481770
            179           8000           6656     105.050894
            189           8000           7016     105.228228
            200           8000           7469     104.599009
Это то, что Linux даёт о диске своей собственной установки:

Код: Выделить всё

[olej@nvidia images]$ sudo hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads:  364 MB in  3.01 seconds = 121.00 MB/sec
и то, что виртуальный Windows XP в VirtualBox даёт о своём диске (в том же тесте последовательного чтения большого блока):

Код: Выделить всё

             84           4000            766     214.180809
             95           4000            782     237.272219
            105           4000            781     262.584027
            116           4000            859     263.751455
            126           4000            891     276.199495
            137           4000           1015     263.623768
            147           4000           1766     162.576090

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Среды выполнения Windows-приложений

Непрочитанное сообщение Olej » 24 окт 2011, 18:09

Olej писал(а):Это первая виденная мною VM в VirtualBox, в которой после установки не определилась сетевая карта и не настроилась NAT сеть!
Вот тебе и Windows 8 :-?
Отвлекаясь чуть в сторону (и назад ;-) ) - относительно виртуализации Windows 8.

Меняем тип сетевого адаптера, который создаёт VirtualBox по дефаулту (в настройках виртуальной машины), и Windows 8 получает сеть!
(это сообщение написано уже из Windows 8 под VirtualBox под Fedora 14 - ни малейших торможений не чувствуется).

А вот уже картинки позже вписаны из Linux Chrome - картинки остались в другой файловой системе :lol:
Вложения
net.png
net.png (54.11 КБ) 12573 просмотра
Win8.1.png
(127.93 КБ) 10416 скачиваний

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Среды выполнения Windows-приложений

Непрочитанное сообщение Olej » 25 окт 2011, 14:30

Olej писал(а): Вот, пусть может и грубо, сравнение:
Предыдущие сравнения производительности (грубые и неудачные) меня интересовали как один из пунктов в пользу выбора: что? Wine или VirtualBox использовать, когда (в тех достаточно редких случаях) нужно попользовать что-то из .exe для Windows?

Я (пока!) вижу 3 критерия (ну, или 3+ - см. п.2):

1. конечно, скорость - если скорость какого-то из вариантов будет на ... 50% (при теперешних быстрых процессорах это допустимо) меньше, то это уже сильно "не то"; кроме того, если задержка реакции где-то будет возникать больше ... 0.3 сек. (а это не есть однозначная функция скорости) то это тоже в минус.
Но я пока не вижу субъективно задержек VirtualBox - сейчас, когда я это пишу, у меня запущены одновременно 2 VM: Windows XP (320 Mb RAM) + Windows 8 (2 Gb RAM), в обоих выполняются по Google Ghrome и что-то там даунлодят...
Никаких субъективных задержек... специально закачал и прогнал в обоих VM видеофрагмент .wmv - не вижу никаких отличий.
P.S. здесь должны бы высказать своё мнение гэймеры ... ничего не могу сказать по этому поводу.

2. устойчивость, ... не столько самой среды исполнения, а приложений, которые неожиданно: "выполнил недопустимую операцию и будет убит"... сюда же пусть (пока) будет отнесена и неадекватность выполнения программ (хоть это и другое), когда она формально выполняется, но ... не видит, дисков, хоста и пр.
Здесь, конечно, большой минус Wine.
VM под VirtualBox поведение программ очень близкая к их нативному выполнению.

3. легитимность, здесь VM под VirtualBox попадает под лицензионные соглашения в равной мере как и нативная инсталляция, а вот с Wine - сложнее: если там не устанавливались дополнительные DLL (проприетарные), фонты... , то на .exe распространяются только лицензионные ограничения, наложенные производителем только на эту программу.
Я правильно понимаю?
(это тот путь, по которому довольно многие фирмы эксплуатируют 1С бухгалтерию)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Среды выполнения Windows-приложений

Непрочитанное сообщение Olej » 25 окт 2011, 15:25

Olej писал(а): - есть хорошая страничка информации (на русском языке :-) ) по winetricks (там рядом вообще несметно полезной информации по Wine).
- но winetricks а). не есть приложением Wine б). а есть элементарный скрипт Linux в). вам повезло, что в вашем дистрибутиве Linux его включили в меню Wine (другие дистрибьюторы не считают это правильным) г). наконец, можно всегда элементарно достать самый свежий вариант winetricks элементарной командой консоли, которая записана на URL из предыдущего пункта
Теперь снова к Wine & winetricks :

- winetricks нужно скачивать только свежий (не из каких не репозитариев Linux!), сейчас посмотрел: там в меню устанавливаемого ПО весьма много 2011 года... (Opera - Version
11.11)

- winetricks позволяет доустановить в Wine многое, без чего Wine остаётся бессмысленной игрушкой: mfc42.dll, VisualC (правда установку VisualC winetricks будет вам часа полтора тянуть ;-) ), ... cygwin / mingw если вы намереваетесь заниматься совместимостью с Linux...

- в winetricks (современном) есть установка своих бэнчмарков для Wine ... но ничего детально сказать не могу.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Среды выполнения Windows-приложений

Непрочитанное сообщение Olej » 25 окт 2011, 16:50

Olej писал(а): Теперь снова к Wine & winetricks :

- winetricks нужно скачивать только свежий (не из каких не репозитариев Linux!),
winetricks имеет командную форму, в которой он может выполнять больше, чем показывает в GUI своей оболочке...
Я нигде в описаниях этой функциональности не встречал :oops: :

Код: Выделить всё

[olej@nvidia Wine]$ ./winetricks --help
Usage: ./winetricks [options] [command|verb|path-to-verb] ...
Executes given verbs.  Each verb installs an application or changes a setting.
...
А вот как выглядит то, чего нет в GUI оболочке, в качестве прмера:

Код: Выделить всё

[olej@nvidia Wine]$ ./winetricks list-download
...
dotnet35
...

Код: Выделить всё

[olej@nvidia Wine]$ ./winetricks dotnet35
Executing w_do_call dotnet35
Executing load_dotnet35
------------------------------------------------------
dotnet35 does not yet fully work or install on wine.  Caveat emptor.
------------------------------------------------------
Executing w_do_call dotnet30
...
Распознаётся download.microsoft.com... 217.212.252.153, 217.212.252.179
Устанавливается соединение с download.microsoft.com|217.212.252.153|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: 52770576 (50M) [application/octet-stream]
Saving to: «dotnetfx3.exe»
100%[===============================================================>] 52 770 576   507K/s   в 1m 44s   
2011-10-25 16:27:17 (498 KB/s) - «dotnetfx3.exe» saved [52770576/52770576]
...
- обратите внимание на вон то "does not yet fully work or install on wine."

Так что с winetricks, кому не скучно, разбираться и разбираться... ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Среды выполнения Windows-приложений

Непрочитанное сообщение Olej » 06 ноя 2011, 00:29

Olej писал(а):
Olej писал(а): Теперь снова к Wine & winetricks :
По Wine есть здесь на сайте:
http://rus-linux.net/lib.php?name=/MyLD ... index.html
- полный перевод: "Руководство пользователя Wine", сделанный Алексеем Дмитриевым.
Перевод не самый новый (2008г.) но вполне, вполне достаточный.

Я об этом упоминаю потому, что Wine - очень капризная и не очень устойчивая система (если вам случайно не повезло, и вы не запустили своё приложение с 1-й попытки :-o)... по крайней мере так в сравнении с поведением тех же приложений под виртуальными машинами.
Поэтому настройкам Wine нужно уделять внимание.

P.S. Там же, в переводе, упоминается ещё один альтернативный вариант выполнения Windows-приложений, который мы не упомнили в нашей здесь теме:
Можно попробовать использовать ReactOS,
http://www.reactos.com/
Я по поводу этого способа ничего сказать не могу.

Ответить

Вернуться в «Среды выполнения Windows-приложений»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя