1

最近、素晴らしいライブラリである protobuf-net に出会いました。

ジェンダームを実行したところ、多くのパフォーマンス通知が表示されました。たとえば、次のとおりです。

ターゲット: System.Int32 ProtoBuf.ProtoReader::ReadFieldHeader() アセンブリ: protobuf-net、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null

重大度: 高 信頼度: 高 ソース: デバッグ シンボルを使用できません。IL オフセット 0x0055 詳細: タイプ 'System.Int32' がボックス化されています。

だれかが憲兵の経験を持っている場合、これらの種類の通知がどれほど重要であるか、重大度: 高い 問題をクリーンアップしようとすることで、protobuf-net に貢献できる可能性がありますか?

4

1 に答える 1

1

あなたが引用した特定のエラーは次のとおりです。

if(fieldNumber < 1) throw new ProtoException(
    "Invalid field in source data: " + fieldNumber);

はい、技術的にはこれは不要なボックスですが、気にする価値のない極端なエッジケースです (その例外が発生した場合、ボックスよりも大きな問題が発生します)。ただし、問題が発生している場合は修正できます。

また、リフレクションの実装からさらにエラーが発生する可能性があります。ほとんどのシナリオでは実際には使用されないため、誤解を招く可能性があります (コードにはリフレクション モデルとメタプログラミング モデルの両方があります)。

来週、憲兵が何を言っているのかを見てみたいと思います:

于 2013-05-05T23:56:34.987 に答える