Szybkość Pythona i BigData

0

Python jest wolny, ale używa się go w "BigData". Coś mi się kiedyś obiło o uszy że pisze się w Pythonie ale używa się C. Czy ktoś mógłby mi rozjaśnić jak to działa?

0

Nie każdy musi mieć odpowiedzi w praktycznie real time. Python nawet jak jest "wolny", to nie znaczy, że jest 100 razy wolniejszy niż alternatywa.

A co do drugiego - może chodzi Ci o https://cython.org/ ?

0

Teraz to ludzka praca jest droższa niż sprzęt. Dlatego szuka się rozwiązań gdzie ludzie będą mogli robić coś szybciej nawet kosztem wymaganego większego nakładu sprzętu. Poza tym często python służy jako protoyp - włąsciwe narzędzie powstaje w jakimś bardziej wydajnym języku. Z python pracują ludzie, którzy znają domenę problemy i potrafią przygotować rozwiązanie - właściwą implementacją zajmują się programiści.

0

A nie jest tak, że większość pythonowej Big Data siedzi w modułach binarnych, czyli w Windows DLLkach?

A w prawdziwym Pythonie, niemal wyłącznie kod kliencki, który robi z tego inteligentny użytek?

ps. a propos kompilatorów języków dynamicznych do kodu maszynowego, jak chyba cython, maja one mocną barierę właśnie przez ten dynamiczny charakter.
Zachowując tę samą dynamiczną charakterystykę języka, jesteśmy zmuszeni nadal bardzo dużo interpretować, mimo umieszczenia na sztandarach kodu maszynowego

0

Python jest wolny, ale używa się go w "BigData"

Pythona używa się w data science, a big data to raczej jakieś sparki czy wcześniej hadoop. Zresztą nawet jak ktoś użyje pythona to nie do "przetwarzania danych" a raczej jako jakiś "interfejs dostępowy".
Jak ktoś twiedzi ze robi big data w pythonie to znaczy że wcale nie takie big ;)

3

Sporo bibliotek, szczególnie tych przetwarzających dane (m.in. numpy, opencv, shapely, biblioteki do symulacji) najbardziej kluczowe dla wydajności elementy ma napisane w szybkich, kompilowanych językach (jak C, Ada, Fortran), natomiast w Pythonie jest napisana nakładka/klient

  • wystawiający przyjazny dla programisty, przejrzysty interfejs
  • ukrywa za tym przyjemnym interfejsem udręki przepychania danych między typami np. C a Pythona
  • z prostszych klocków wykorzystujących pod spodem wydajne języki składa bardziej złożone, ale już na poziomie Pythona. Dla przykładu, z tego co pamiętam pandas wykorzystuje numpy, z kolei geopandas bazuje na pandas i bibliotekach GIS ułatwiając tym samym wzbogacenie danych o dane geograficzne i przetwarzanie tych informacji.

Poza tym jak masz problemy z wydajnością w Pythonie, a niekoniecznie chcesz się go pozbywać, masz parę opcji

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