Pozwól mi po prostu powiedzieć nietoperza, że nie jestem programistą. Jestem tylko facetem z pomysłem, biorąc pierwsze kroki, aby uczynić go rzeczywistością. Nie jestem obcy, aby programować, pamiętać, ale niektóre z koncepcji i terminologii tutaj są drogą nad moją głową; Więc przepraszam z góry, gdyby to pytanie zostało wcześniej odpowiedział (tj. konwertować program Python do C / C ++ Kodeks?).

Mam pomysł tworzenia prostego A.I. Sieć do analizy danych muzycznych wysłanych z telefonu przez Cloud Computing (mam facet na rzecz chmur). Będzie wymagać dużej ilości pamięci i musi być szybkie dla ciężkiego poziomu. Planowałem robić to w Pythonie, ale od tego czasu nauczyłem się, że może nie być tak dobrym pomysłem (jest Python szybciej i lżejszy niż C ++?).

Ponieważ Python jest naprawdę jedynym pistoletem, który mam w mojej kaburze, myślałem o użyciu konwertera Pythona-to-C ++. Ale nic nie przychodzi bez ceny:

  1. Czy to korzystny sposób, aby szybko zachować mój kod?
  2. Jakie jest danie i podejdź do korzystania z konwertera?
  3. Czy mam coś? Nadal jestem nowy, więc nie jestem nawet pewien, jakie pytania zadają pytanie.

Z góry dziękuję.

-14
Noob Saibot 10 wrzesień 2012, 05:31

3 odpowiedzi

Najlepsza odpowiedź

Ogólnie rzecz biorąc, jest to straszny sposób na pisanie kodu i nie gwarantuje, że będzie ona szybsza. Rzeczy, które są proste i szybkie w jednym języku mogą być złożone i powoli w innym. Lepiej uczyć się, jak pisać szybki kod Pythona lub naukę C ++ bezpośrednio niż walki z tłumaczem i dowiedzieć się, jak uruchamiać wygenerowany kod.

14
Ignacio Vazquez-Abrams 10 wrzesień 2012, 01:36

Jeśli chcesz C ++, użyj C ++. Uwaga, jednak ten PYPY mają grupę benchmarków pokazujących, że mogą być znacznie szybsze niż C; A z numpry, który wykorzystuje skompilowane rozszerzenia, praca numeryczna staje się znacznie szybsza i łatwiejsza.

Jeśli chcesz zaprogramować w czymś statycznie skompilowanym i trochę jak Python, jest RPyton.

Wreszcie, możesz zrobić, co robi Numpy: Użyj rozszerzeń napisanych w C lub C ++, aby większość ciężkich podnoszenia obliczeniowego, gdzie wydaje się być właściwe, albo dlatego, że profilowanie pokazuje hotspot, albo dlatego, że potrzebujesz rozszerzenia, aby łatwiej zrobić coś z udziałem Internalie Pythona. Należy zauważyć, że związany z kodem do określonej implementacji.

2
Marcin 10 wrzesień 2012, 01:41

Podobnie jak już stwierdziło, C ++ może być szybsze w niektórych obszarach i wolniejszych w innych. Python jest dokładnie taki sam. W końcu dowolny język zostanie przekonwertowany na kod maszyny. W końcu zależy to do kompilatora, aby uczynić go tak skutecznym, jak wie, jak to zrobić. Powiedział, że lepiej wybrać jeden język i dowiedzieć się, jak pisać szybki i wydajny kod do robienia tego, co chcesz.

1
Mlagma 10 wrzesień 2012, 01:41