Perl的Data :: Dumper中的DumpXS有什么作用?

时间:2010-04-01 07:04:49

标签: perl xs

我已经浏览了Data::Dumper的源代码。在这个包中,我不明白DumpXS发生了什么。这个DumpXS有什么用?

我搜索了这个,我读到它,它等于Dump函数,它比Dump快。但我不明白。

3 个答案:

答案 0 :(得分:5)

XS language是普通Perl和C之间的粘合剂。当人们想要从操作中挤出最后一点性能时,他们会尝试尽可能接近C代码。出于同样的原因,Python和Ruby有类似的机制。

一些Perl模块具有XS实现以提高性能。但是,您需要一个C编译器来安装它。并非每个人都能够安装已编译的模块,因此这些模块也采用“PurePerl”或“PP”版本,只需稍微慢一点。如果您没有XS实现,Data::Dumper之类的模块可以自动使用纯Perl实现。在这种情况下,Data :: Dumper还允许您选择要使用的那个。

答案 1 :(得分:2)

很多Perl模块都有“XS”版本,比如JSON :: XS。名称中的XS表示它部分使用C以提高模块的速度或其他效率。我不知道这个特例,但可能就是这样。

答案 2 :(得分:0)

如果您想了解有关XS的更多信息,请转到http://perldoc.perl.org/perlxs.html 但我很好奇是什么引导你解决这个问题。