2010-04-01 2 views

risposta

5

Il XS language è una colla tra normale Perl e C. Quando le persone vogliono spremere ogni ultimo bit di prestazioni da un'operazione, cercano di scriverlo il più vicino possibile al codice C. Python e Ruby hanno meccanismi simili per lo stesso motivo.

Alcuni moduli Perl hanno un'implementazione XS per migliorare le prestazioni. Tuttavia, è necessario un compilatore C per installarlo. Non tutti sono in grado di installare moduli compilati, quindi i moduli vengono anche in una versione "PurePerl" o "PP" che fa la stessa cosa solo un po 'più lentamente. Se non si dispone dell'implementazione XS, un modulo come Data::Dumper può utilizzare automaticamente l'implementazione Perl pura. In questo caso, Data :: Dumper consente anche di scegliere quale si desidera utilizzare.

2

Un sacco di moduli Perl hanno versioni "XS", come JSON :: XS. L'XS nel nome significa che utilizza parzialmente C per aumentare la velocità o l'altra efficienza del modulo. Non conosco questo caso particolare, ma probabilmente lo è.

+0

Lo è. Ma questo è un dettaglio che a un normale utente Data Dumper non dovrebbe importare. Utilizzerà l'implementazione XS (vale a dire C) ogni volta che può perché è più veloce. – tsee

+1

Penso che sia la curiosità dell'interrogante piuttosto che un problema con il modulo. –