Здравствуйте, VladD2, Вы писали:
VD>Мирно беседуя (собачась, то есть ) с апологетами динамических языков (вроде Руби и Питона) неожиданно для себя пришел к интересному выводу.
К меня вопрос несколько не по теме, но в том же русле.
Microsoft .NET Framework 3.0 Pre-Release — полная версия для x86: ~45,9M, для x64: ~84,3M. Откуда такая разница? Объем нативного кода по идее должен быть минимальным, а IL, по идее составляющий основной объем, вообще не должен знать что такое разрядность target-процессора.
Здравствуйте, McSeem2, Вы писали:
MS>К меня вопрос несколько не по теме, но в том же русле. MS>Microsoft .NET Framework 3.0 Pre-Release — полная версия для x86: ~45,9M, для x64: ~84,3M. Откуда такая разница? Объем нативного кода по идее должен быть минимальным, а IL, по идее составляющий основной объем, вообще не должен знать что такое разрядность target-процессора.
Сам обратил внимание, но не разбирался.
Что до ИЛ-а, то он вообще идентичен. Сборка на любом фрэймворке запускается без перекомпиляции.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, McSeem2, Вы писали:
MS>Здравствуйте, VladD2, Вы писали:
VD>>Мирно беседуя (собачась, то есть ) с апологетами динамических языков (вроде Руби и Питона) неожиданно для себя пришел к интересному выводу.
MS>К меня вопрос несколько не по теме, но в том же русле. MS>Microsoft .NET Framework 3.0 Pre-Release — полная версия для x86: ~45,9M, для x64: ~84,3M. Откуда такая разница? Объем нативного кода по идее должен быть минимальным, а IL, по идее составляющий основной объем, вообще не должен знать что такое разрядность target-процессора.
Ну дык там все в native code теперь. А он в два раза длиннее и есть.
Здравствуйте, McSeem2, Вы писали:
CS>>Ну дык там все в native code теперь. А он в два раза длиннее и есть. MS>Откуда дровишки и что значит "теперь"?
Сомнительно. То, что все инструкции, работающие с константами, стали содержать в два с лишним раза больше нулей, может увеличить размер самих библиотек, но в упакованном дистрибутиве прирост будет не более нескольких процентов.
Больше похоже на то, что 64-х разрядный фреймфорк содержит внутри ещё и 32-х разрядный.
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>Здравствуйте, Блудов Павел, Вы писали:
БП>>Больше похоже на то, что 64-х разрядный фреймфорк содержит внутри ещё и 32-х разрядный.
ANS>Вполне может быть. Например ВМ Squeak для Мак внутри одного бинарника содержит версии для PPC и для x86. Что-то похожее может быть и там.
Так сейчас почти все новые программы для мака в таком виде идут, им деватся просто некуда с этим переходом на интел
Здравствуйте, c-smile, Вы писали:
CS>Ну дык там все в native code теперь. А он в два раза длиннее и есть.
Основной объем фрэймворка — это библиотеки. Рост с 20 до 45 метров обусловлен включением тех самых разрекламированных Авалонов и Индиг (WPF, WCF)... Это в основном (процентов на 99%) управляемые сборки. Так что они вообще не должны ничего увеличивать. По крайней мере радикально. Так что сокорее всего правы те кто предполагает, что в x64 просто лежат два варианта фрэймворка и два варианта WinFX-а. Что конечно есть полнейший маразм.
Так что это или недомыслие, или маркетинг, или наплевательское отношение к менее развитым странам (в Штатах, думаю, разницы качать 20 мег или 80 особо нет), или все вместе взятое.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Основной объем фрэймворка — это библиотеки. Рост с 20 до 45 метров обусловлен включением тех самых разрекламированных Авалонов и Индиг (WPF, WCF)... Это в основном (процентов на 99%) управляемые сборки. Так что они вообще не должны ничего увеличивать. По крайней мере радикально. Так что сокорее всего правы те кто предполагает, что в x64 просто лежат два варианта фрэймворка и два варианта WinFX-а.
Что значит "два варианта"? Если они — "управляемые сборки", то должны быть идентичны и что такое "разрядность", им знать не положено.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Здравствуйте, VladD2, Вы писали:
VD>>Мирно беседуя (собачась, то есть ) с апологетами динамических языков (вроде Руби и Питона) неожиданно для себя пришел к интересному выводу.
MS>К меня вопрос несколько не по теме, но в том же русле. MS>Microsoft .NET Framework 3.0 Pre-Release — полная версия для x86: ~45,9M, для x64: ~84,3M. Откуда такая разница? Объем нативного кода по идее должен быть минимальным, а IL, по идее составляющий основной объем, вообще не должен знать что такое разрядность target-процессора.
По аналогии с 2.0, в 3.0 для x64: "It contains both the 64-bit and 32-bit runtime in one convenient setup. For 32-bit operating systems, please click the related resource link for the 32-bit framework download page."
Здравствуйте, McSeem2, Вы писали:
MS>То есть, грубо говоря, две идентичные копии одного и того же?
Не думаю, что идентичные, но наверняка весьма схожие.
Я для проверки вытащил пару файлов и ставнил:
Comparing files FL_Accessibility_dll_____A64.3643236F_FC70_11D3_A536_0090278A1BB8 and FL_ACCESSIBILITY_DLL_____X86.3643236F_FC70_11D3_A536_0090278A1BB8
FC: no differences encountered
Comparing files FL_SYSTEM_WINDOWS_FORMS_DLL_____A64.3643236F_FC70_11D3_A536_0090278A1BB8 and FL_SYSTEM_WINDOWS_FORMS_DLL_____X86.3643236F_FC70_11D3_A536_0090278A1BB8
FC: no differences encountered
Зато mscorlib разная:
FL_mscorlib_dll_____A64.3643236F_FC70_11D3_A536_0090278A1BB8 3856 K
FL_mscorlib_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 4208 K
Здравствуйте, Блудов Павел, Вы писали:
БП>Так что вывод — дистрибутив фреймворка можно было сократить как минимум на треть, но никому в голову не пришло. Нету в штатах диалапщиков. Давно нету.
Надо было просто использовать нормальный архиватор который ищет в файле повторения... и тогда все однинаковые файлы физически сохранялись бы только один раз. И размер дистрибутивы уменьшился бы раза в два автоматом.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, McSeem2, Вы писали:
MS>Здравствуйте, VladD2, Вы писали:
VD>>Основной объем фрэймворка — это библиотеки. Рост с 20 до 45 метров обусловлен включением тех самых разрекламированных Авалонов и Индиг (WPF, WCF)... Это в основном (процентов на 99%) управляемые сборки. Так что они вообще не должны ничего увеличивать. По крайней мере радикально. Так что сокорее всего правы те кто предполагает, что в x64 просто лежат два варианта фрэймворка и два варианта WinFX-а.
MS>Что значит "два варианта"? Если они — "управляемые сборки", то должны быть идентичны и что такое "разрядность", им знать не положено.
Так и есть. Просто там ведь не только управляемые сборки. JIT и GC, сами понимаете, о разрядности знать положено.
Они, конечно, могли бы сделать и более компактный дистрибутив, без дублирования управляемых сборок, но вот не сделали.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Здравствуйте, WolfHound, Вы писали:
WH>Надо было просто использовать нормальный архиватор который ищет в файле повторения... и тогда все однинаковые файлы физически сохранялись бы только один раз. И размер дистрибутивы уменьшился бы раза в два автоматом.
Здравствуйте, WolfHound, Вы писали:
WH>Надо было просто использовать нормальный архиватор который ищет в файле повторения... и тогда все однинаковые файлы физически сохранялись бы только один раз. И размер дистрибутивы уменьшился бы раза в два автоматом.
Они это предусмотрели. .msi для x86 предварительно зажат cab'ом. Внутри .exe-шника имеем bootstrapper, лицензию и netfx.msi + netfx1.cab
Здравствуйте, Vladimir V Kochetkov, Вы писали:
VVK>По аналогии с 2.0, в 3.0 для x64: "It contains both the 64-bit and 32-bit runtime in one convenient setup. For 32-bit operating systems, please click the related resource link for the 32-bit framework download page."
А зачем на 64 разрядной машине 32 разрядный фреймворк?
Здравствуйте, VladD2, Вы писали:
VD>Так что это или недомыслие, или маркетинг, или наплевательское отношение к менее развитым странам (в Штатах, думаю, разницы качать 20 мег или 80 особо нет), или все вместе взятое.