Как обнаружить причину упаковки в .NET?

JSON всегда предпочтителен с точки зрения обработки клиентского браузера, должен сделать для парсинга данных. Кроме того, JSON является форматом обмена данными легкого веса.

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

8
задан Jeff Yates 6 August 2009 в 13:46
поделиться

6 ответов

Одно из моих любимых приложений - CLR Profiler, оно даст вам то, что вы ищете, оно отобразит все ваше приложение, показывая различные поколения. Его можно бесплатно загрузить с сайта Microsoft, и он чрезвычайно мощный и простой в использовании. Я также добавил ссылку о том, как его использовать. (Загрузить профилировщик CLR) (Как использовать профилировщик CLR)

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

Скорее удивительно, что методы класса DateTime ToLocalTime / ToUniversalTime вызывают бокс.

Наше приложение (сервер приложений) недавно было изменено для работы "внутри" только в формате UTC (чтобы справляться с изменениями летнего времени и т. д.). Кодовая база наших клиентов на 99% основывалась на местном времени.

Сервер приложений преобразует (при необходимости) местное время во время UTC перед обработкой, эффективно вызывая накладные расходы на упаковку при каждой связанной со временем операции.

Мы рассмотрим возможность повторной реализации этих операций «внутри компании», без упаковки.

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

Вы проводили статический анализ своего кода? Возможно, NDepend поможет вам найти методы и типы, которые объединяют и распаковывают значения.

Пробная версия NDepend находится в свободном доступе, поэтому стоит попытаться проанализировать сборки, как ваши, так и сторонние.

1
ответ дан 5 December 2019 в 23:16
поделиться

Я думаю, что GlowCode может сообщить, где происходит упаковка типов значений, хотя вам нужно просмотреть параметры, чтобы узнать, как его включить.

0
ответ дан 5 December 2019 в 23:16
поделиться

Очень низкотехнологичный, но удивительно эффективный подход - подключить отладчик и время от времени нажимать паузу и смотреть, где останавливается программа.

Если вы выделяете достаточно времени чтобы вызвать большую активность сборщика мусора, у вас есть хорошие шансы взломать код, в котором происходит распределение боксов.

Это дает то преимущество, что вам не нужны новые инструменты (при условии, что у вас есть приличная среда IDE или отладчик)

0
ответ дан 5 December 2019 в 23:16
поделиться

Операции упаковки и распаковки могут быть обнаружены статическим анализ вашего кода. Ищите правила fxcop.

Профилировщик может также помочь вам,

0
ответ дан 5 December 2019 в 23:16
поделиться
Другие вопросы по тегам:

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