2010-04-01 5 views

Répondre

5

Le XS language est un lien entre Perl normal et C. Lorsque les utilisateurs veulent extraire un tout dernier morceau de performance d'une opération, ils essaient de l'écrire aussi près que possible du code C. Python et Ruby ont des mécanismes similaires pour la même raison.

Certains modules Perl ont une implémentation XS pour améliorer les performances. Cependant, vous avez besoin d'un compilateur C pour l'installer. Tout le monde n'est pas en mesure d'installer des modules compilés, donc les modules viennent aussi dans une version "PurePerl" ou "PP" qui fait la même chose un peu plus lentement. Si vous ne disposez pas de l'implémentation XS, un module tel que Data::Dumper peut utiliser automatiquement l'implémentation Perl pure. Dans ce cas, Data :: Dumper vous permet également de choisir celui que vous voulez utiliser.

2

Beaucoup de modules Perl ont des versions "XS", comme JSON :: XS. Le XS dans le nom signifie qu'il utilise en partie C afin d'augmenter la vitesse ou autre efficacité du module. Je ne connais pas ce cas particulier, mais c'est probablement ça.

+0

C'est. Mais c'est un détail qu'un utilisateur normal de Data :: Dumper ne devrait même pas se soucier. Il utilisera l'implémentation XS (c.-à-d. C) dès que possible, car c'est plus rapide. – tsee

+1

Je pense que c'est la curiosité du questionneur plutôt qu'un problème avec le module. –