我已经浏览了Data::Dumper的源代码。在这个包中,我不明白DumpXS发生了什么。这个DumpXS有什么用?
我搜索了这个,我读到它,它等于Dump
函数,它比Dump
快。但我不明白。
答案 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 但我很好奇是什么引导你解决这个问题。