Python komunikacja z innymi językami i wydajność

0

Witam.

Ostatnio przyglądam się pythonowi z różnych stron i zastanawiam się czy trochę głębiej w niego nie wejść. Kuszom mnie dwie obiegowe opinie jakie słyszałem. Pierwsza to że łatwo go interfejsować z językami statycznymi (głownie C i C++) oraz druga że łatwo przyspieszyć jego działanie w przypadku gdy interpreter nie domaga (psycho, pypy, cython). Też serwer aplikacji Zope wygląda dosyć ciekawie.

I tu miał bym parę pytań do osób, które miały okazję już nieco wejść w temat:

  • jaki jest wachlarz języków z których lib'ami można się interfejsować ?
  • jak wydajne są te psycho, pypy, cython, jython, ironpython i inne "przyspieszacze" ?
  • jak te "przyspieszacze" wpływają na interfejsowanie z innymi językami ?
  • czy ktoś miał okazje pracować z zope'em ? jakie wrażenia ?

Z góry dzięki za odpowiedzi

0
walec51 napisał(a)

Witam.

Ostatnio przyglądam się pythonowi z różnych stron i zastanawiam się czy trochę głębiej w niego nie wejść. Kuszom mnie dwie obiegowe opinie jakie słyszałem. Pierwsza to że łatwo go interfejsować z językami statycznymi (głownie C i C++) oraz druga że łatwo przyspieszyć jego działanie w przypadku gdy interpreter nie domaga (psycho, pypy, cython). Też serwer aplikacji Zope wygląda dosyć ciekawie.

I tu miał bym parę pytań do osób, które miały okazję już nieco wejść w temat:

  • jaki jest wachlarz języków z których lib'ami można się interfejsować ?
  • jak wydajne są te psycho, pypy, cython, jython, ironpython i inne "przyspieszacze" ?
  • jak te "przyspieszacze" wpływają na interfejsowanie z innymi językami ?
  • czy ktoś miał okazje pracować z zope'em ? jakie wrażenia ?

Z góry dzięki za odpowiedzi

  1. Jak używasz CPython, to za friko masz C i C++. Jeżeli możesz coś jako cały moduł wyciągnąć, to polecam pyrex. Piszesz prawie jak w pythonie, a generowana jest biblioteka C. Po prostu miodzio ;) W przypadku Jython masz za friko dostęp do javy, a ironpython do .NET-a.
  2. psyco jest świetne, jeżeli chodzi o kod typowo algorytmiczny. Dużo liczenia, pętli ze stałymi parametrami. Jeżeli masz jakiś kod "niepowtarzalny", to nie zyskasz wiele. Najlepiej najpierw zidentyfikować kod algorytmiczny i tylko ten fragment przepuścić przez psyco. Co do innych, to podobno ironpython jest jednym z lepiej optymalizujących, ale sam nie testowałem.
  3. psyco generalnie nie wpływa na interfejsowanie z innymi językami. Ich samych nie optymalizuje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1