Каковы профессионалы/недостатки.NET на 64 бита?

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

второй пример использует значение 'индекса' плюс 1, но не изменяет содержание 'индекса'.

Так, в зависимости от того, что Вы желаете сделать здесь, в хранилище могли быть некоторые неожиданности!

12
задан Community 23 May 2017 в 11:47
поделиться

3 ответа

Ваше приложение может работать или не работать быстрее. Я видел улучшения для некоторых приложений, но не для других. Это зависит от того, насколько ваше приложение использует преимущества 64-битных (математических) операций, и от того, компенсирует ли это большие данные и код, которые использует x64 и, следовательно, его необходимо загрузить в кэш инструкций и данных, прежде чем его можно будет выполнить.

http: / /blogs.msdn.com/b/joshwil/archive/2006/07/18/670090.aspx

Это стоит прочитать. Он старый (.NET 2.0), но многое еще применимо; размеры указателей, COM-взаимодействие и т. д .:

Перенос 32-битного управляемого кода на 64-битный

Также стоит знать, что даже на x64 CLR имеет ограничение на размер одного объекта в 2 ГБ. Это не проблема для 99% сценариев, но если вы переходите на x64, вероятно, это связано с тем, что вы можете работать с большими наборами данных. Дополнительную информацию см. Здесь:

Ограничены ли строки C # (и другие .NET API) размером 2 ГБ?

Итак. Если ваше приложение не использует данные, которые не помещаются в 32-битную память или не сильно использует 64-битные операции, вы можете не увидеть большого или какого-либо улучшения.

Другим недостатком является то, что Visual Studio для приложений x64 имеет некоторые ограничения:

  • "Изменить и продолжить" недоступен. для 64-битной отладки.

  • Вы не можете отлаживать в смешанном режиме, вызывает от собственного кода к управляемому, или наоборот, в 64-битном коде.

См .: http://msdn.microsoft.com/en-us/library/ms184681 (VS.80) .aspx

Примечание: 64-битный C ++ по умолчанию компиляторы не устанавливаются. Вы должны выбрать их во время установки.

Я также только что нашел это (потому что я сам оптимизирую приложение x64).

«Перенос и оптимизация приложений в 64-битной Windows для AMD64 ...»

http://download.microsoft.com/download/5/b/5/5b5bec17-ea71-4653-9539-204a672f11cf/AMD64_PortApp.doc

Содержит множество хороших указателей на переключатели компилятора и тому подобное.

5
ответ дан 2 December 2019 в 21:45
поделиться

I've seen it to be noticeably faster (~ 4x in my experience) for some computationally-heavy (number-crunching) applications. The best thing is it comes for free in pure managed cases. You don't even have to recompile anything to get the benefits. Also, I've heard that the x64 JIT has more aggressive optimizations.

The biggest disadvantage is probably not being able to load 32-bit COM components in process.

6
ответ дан 2 December 2019 в 21:45
поделиться

64-битные приложения не всегда работают быстрее, чем 32-битные. Об этом говорится в двух сообщениях в блоге ниже:
https://blogs.msdn.microsoft.com/rmbyers/2009/06/09/anycpu-exes-are-usually-more-trouble-than-theyre-worth/

Чем больше указатель, тем больше памяти и потребление кеша и количество байтов доступного кэша ЦП одинаково как для 32-битных, так и для 64-битных

http://blogs.msdn.com/ricom/archive/2009/06/10/visual-studio-why-is-there-no-64-bit-version.aspx

64-битный адресное пространство для процесса не собираюсь помочь вам со страницей неисправности, за исключением, возможно, косвенных причин, и тебе точно будет больно прямые пути, потому что ваши данные больше. В отличие от 64-битного операционная система может вам очень помочь! Если вы работаете как 32-битное приложение на 64-битная ОС, тогда вы получите все 4G адресное пространство и все такое поддерживается физической памятью (если у вас есть RAM) даже без использования 64 бит сами указатели.

1
ответ дан 2 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: