2010-04-01 11 views

Odpowiedz

5

jest klejem pomiędzy normalnymi Perl i C. Kiedy ludzie chcą wycisnąć co najmniej trochę wydajności z operacji, starają się napisać tak blisko kodu C, jak to możliwe. Python i Ruby mają podobne mechanizmy z tego samego powodu.

Niektóre moduły Perla mają implementację XS w celu zwiększenia wydajności. Do jego instalacji potrzebny jest jednak kompilator języka C. Nie wszyscy są w stanie zainstalować skompilowane moduły, więc moduły są również w wersji "PurePerl" lub "PP", która robi to samo nieco wolniej. Jeśli nie masz implementacji XS, moduł taki jak Data::Dumper może automatycznie korzystać z czystej implementacji Perla. W takim przypadku Data :: Dumper pozwala również wybrać, którego chcesz użyć.

2

Wiele modułów Perla ma wersje "XS", takie jak JSON :: XS. XS w nazwie oznacza, że ​​częściowo używa C w celu zwiększenia prędkości lub innej wydajności modułu. Nie znam tego konkretnego przypadku, ale prawdopodobnie tak jest.

+0

To jest. Ale jest to szczegół, którego normalny użytkownik Data :: Dumper nie powinien się martwić. Będzie używał implementacji XS (to znaczy C), kiedy tylko będzie mógł, ponieważ jest szybszy. – tsee

+1

Myślę, że to raczej ciekawość pytającego, niż problem z modułem. –