在Perl中创建数据结构的深层副本的最好方法是什么?

前端之家收集整理的这篇文章主要介绍了在Perl中创建数据结构的深层副本的最好方法是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
给定一个数据结构(例如散列哈希),什么是干净/推荐的方式,使深拷贝立即使用?假设合理的情况,其中数据不是特别大,不存在复杂的周期,以及可读性/可维护性等。比速度更重要。

我知道我可以使用StorableClone,克隆::更多,Clone::FastData::Dumper等。当前的最佳实践是什么?

解决方法

克隆比Storable :: dclone快得多,但后者支持更多的数据类型。

克隆:: Fast和Clone ::更多是等价的,如果内存使我对,但功能完整比克隆更少,Scalar :: Util :: Clone支持更少,但IIRC是所有的一些结构中最快的。

关于可读性,这些应该都是相同的,它们几乎可以互换。

如果你没有特定的性能需求,我只需使用Storable的dclone。

我不会使用Data :: Dumper这只是因为它那么繁琐和迂回。这可能会很慢。

对于什么是值得的,如果你想要可定制克隆,那么Data :: Visitor提供钩子功能和相当特征的完全深克隆是默认行为。

猜你在找的Perl相关文章