1

この回答に続いて、オブジェクトを正常にコピーしました。

ただし、現在のプロジェクトではパフォーマンスが最優先事項です。そこで、いくつかの単体テストを行い、実行にかかる時間を確認しました。最大 200 ミリ秒を期待していたのに、結果は平均 2 秒でした! 時間の 90% がオブジェクトのコピーに費やされていることがわかりました。

このパフォーマンスを上げる方法はありますか?オブジェクトをコピーする他の方法はありますか? 配列やリストのコピーの速さを知っている人はいますか? 私はそのような使用を検討します。

4

1 に答える 1

10

速度の問題が完全に汎用的なソリューションに依存していない場合 (特にこの場合、この場合、一般的なケースでは問題を解決するのが非常に難しく、パフォーマンスが実際に低下します。一般的なケースでは、より簡単な問題を効率的に解決できます) 、そのほとんどは一般にシリアル化に依存していますが、文字列操作に多くの時間/労力が費やされるため、本質的にパフォーマンスが高くありません. オブジェクトのタイプがわかっているものに基づいてオブジェクトを手動で作成し、コピーする必要があることがわかっているものに基づいて関連するフィールドを手動でコピーするだけです。

また、シャロー/ディープ コピーの違いを観察する方法がないため、ディープ コピーではなく、不変オブジェクトのシャロー コピーのみを実行してください。

于 2013-03-18T21:11:47.757 に答える