我已经浏览了Data::Dumper的源代码。在这个包中,我不明白 DumpXS 发生了什么。这个 DumpXS 有什么用?
我已经搜索过这个并且我读到了,它等于Dump
函数并且它比Dump
. 但我不明白。
我已经浏览了Data::Dumper的源代码。在这个包中,我不明白 DumpXS 发生了什么。这个 DumpXS 有什么用?
我已经搜索过这个并且我读到了,它等于Dump
函数并且它比Dump
. 但我不明白。
XS 语言是普通 Perl 和 C 之间的粘合剂。当人们想要从操作中榨取最后一点性能时,他们会尝试尽可能接近 C 代码来编写它。出于同样的原因,Python 和 Ruby 具有相似的机制。
一些 Perl 模块有一个 XS 实现来提高性能。但是,您需要一个 C 编译器来安装它。不是每个人都可以安装已编译的模块,因此这些模块也有“PurePerl”或“PP”版本,它们执行相同操作的速度稍慢一些。如果您没有 XS 实现,Data::Dumper等模块可以自动使用纯 Perl 实现。在这种情况下,Data::Dumper 还允许您选择要使用的那个。
许多 Perl 模块都有“XS”版本,例如 JSON::XS。名称中的 XS 表示它部分使用 C 以提高模块的速度或其他效率。我不知道这种特殊情况,但可能就是这样。
如果您想了解有关 XS 的更多信息,请访问http://perldoc.perl.org/perlxs.html 但我很好奇是什么导致您提出这个问题。