如何与最高性能
回答
如果速度事项不依赖于一个完全通用的解决方案(特别是在这种情况下,在这种情况下,问题是这么难在表现确实受到一般情况下解决,容易的问题能够有效地要解决一般情况下),其中大部分通常依赖于序列化,由于花费在字符串处理上的时间/精力很多,所以它本质上不是高性能的。只需手动创建基于您知道其类型的对象,并根据您知道需要复制的内容手动复制相关字段。
此外,一定要仅做任何不可变对象的浅拷贝,而不是深拷贝,因为没有办法观察浅/深拷贝之间的差异。
注意包含对本身不可变的对象的只读(即表面上不可变)引用的“虚假不可变”对象。如果这些物体被传递给持有它们的物体,它们可能会在包含物体的控制之外发生变异。解决方法是制作任何此类对象的防御副本,并将副本存储在包含对象中。 – 2013-03-18 21:13:39
@MthetheWWatson非常真实。这就是为什么你可以从非泛化解决方案中获得如此多的收益(以及泛化如此困难的原因)在于,知道需要复制哪些信息以及哪些可以或不可以具有突变的可见副作用并不是什么可以自动确定。一个通用的解决方案被迫做出防御性的副本,但非一般性的解决方案可能不知道并获得性能优势。 – Servy 2013-03-18 21:15:51
- 1. 提高性能取与Hibernate
- 2. 提高性能与加入
- 3. 如何提高MPVolumeView性能?
- 4. javascript - 如何提高性能?
- 5. 如何提高KML性能
- 6. glClear()如何提高性能?
- 7. 如何提高Postgresql'truncate'性能?
- 8. itertools.product:如何提高性能?
- 9. yui如何提高性能?
- 10. 如何提高ILIKE性能?
- 11. ffmpeg - 如何提高性能?
- 12. 如何提高性能fabric.Image.fromURL
- 13. Quartz2D性能 - 如何提高
- 14. 如何提高性能?
- 15. 如何提高webpack性能?
- 16. 如何以最高性能的方式查询这个MySQL表?
- 17. 如何最大限度地提高性能?
- 18. 如何选择最高性能的渲染器,画布或WebGL
- 19. 如何最大限度地提高http.sys文件上传性能
- 20. 如何最大限度地提高服务器性能?
- 21. 如何以最高性能查询DB2中的数据范围?
- 22. 查找子串的最高性能
- 23. Apache HTTPClient HEAD请求的最高性能?
- 24. Java中最高性能的数据库
- 25. 最高性能的音频层?
- 26. 提高性能
- 27. 高性能
- 28. 高性能MySQL
- 29. 提高性能
- 30. 提高性能
有多少物体需要这个设施? – qujck 2013-03-18 21:10:33
1,但它被复制几次。我的对象中最重要的属性是多维数组。所以我可以改变它(有很多修改:p)到一个简单的数组或列表中。我愿意这样做,如果它增加了性能大大 – dylanmensaert 2013-03-18 21:12:31
硬编码的副本将胜过任何其他 – qujck 2013-03-18 21:12:58