1

按照这个答案,我成功复制了我的对象。

但是,性能是我当前项目中的最高优先级。所以我做了一些单元测试并检查了执行需要多长时间。结果是平均 2 秒,而我预计最多 200 毫秒!我发现 90% 的时间都花在了对象复制器上。

有没有办法提高这种性能?还有其他复制对象的方法吗?有谁知道复制数组或列表的速度有多快?我会考虑使用这样的。

4

1 回答 1

10

如果速度问题不依赖于完全通用的解决方案(特别是在这种情况下,因为在这种情况下,问题在一般情况下很难解决,性能确实会受到影响;在一般情况下,更容易的问题可以有效地解决) ,其中大多数通常依赖于序列化,这本质上是不高效的,因为大量的时间/精力都花在了字符串操作上。只需根据您知道的对象类型手动创建对象,然后根据您知道需要复制的内容手动复制相关字段。

还要确保只对任何不可变对象进行浅拷贝,而不是深拷贝,因为没有办法观察浅拷贝/深拷贝之间的区别。

于 2013-03-18T21:11:47.757 回答