Aktywne Wpisy
Itslilianka +88
Pamiętacie tą grę? Jezus ale to na tamte czasy było super! Fajne, kolorowe mapy, doskonała grywalność o tryb dla kilku graczy. Aż sobie kupię by złożyć hołd twórcom. Dodam że studio odpowiedzialne za produkcję jest dziś znane jako Epic Games #gry
Chlor2115 +111
1. w czym #javascript jest lepszy niż #python?
2. czy w pythonie są biblioteki do asynchronicznego połączenia z bazą np. #mongodb?
3. jak wypada porównanie wydajności serwera http node.js do tornado, bo z tego co rozumiem to oba działają na takiej samej zasadzie?
4. jakie są możliwości przyspieszenia pythona i jak dużo one dają?
#programowanie
W Node.js napisanie rozszerzenia kompilowanego wymaga znajomości C++, API V8, skomplikowanych ustawień node-gypa.
W Pythonie można zrobić rozszerzenie dodając plik .c do katalogu i wpisując
make
w konsolę. Albo wpisując tworząc dwa pliki i wpisującpython setup.py build
.Tak jak pisal @LOLWTF
Jak NAPRAWDE potrzebujesz super-wydajnosci to robisz rzeczy
1. JS odpala się w przeglądarce
2. To przecież Python, tu moduły są do wszystkiego.
3. Dunno
4. Używać PyPy zamiast zwykłego interpretera
@silver_spike: tak, node.js jest modny. Tak, trzeba znać JS więcej niż na poziomie używania jQuery aby pisać w node.js. Zadałem pytanie odnośnie wydajności, nie dlatego, że jej teraz potrzebuje, lecz dlatego, że problemy z wydajnością zawsze się pojawiają, wcześniej czy później. Swego czasu robiło się startupy w RoR a później przepisywało na coś bardziej wydajnego. Jednak bardziej ciekawiło mnie to, że teoretycznie node.js i python niczym się nie różnią (tak, wiem, że nie do końca mogę to tak porównywać, lecz to taki skrót myślowy), oba nie są statycznie typowane, oba są interpretowane, a jednak wydajność node.js jednak jest większa. Wytłumaczono mi już powyżej (nawet obrazkowo), że całą robotę odwala V8 i że pythona też da się zoptymalizować i to informację których szukałem. A dlaczego w ogóle o tym myślę? Bo wydaje mi się, że jeśli chce się robić ambitne rzeczy to nie można nie myśleć o wydajność, nawet gdy jej nie potrzebuje to staram się jednak pisać kod w taki sposób aby działał optymalnie, bo wszystko da się spieprzyć, ja wolę mieć świadomość, wiedzę co mogę osiągnąć a kiedy pora szukać innych rozwiązań.
@edgar_k: nie wiem czy mogę dodać coś więcej do tego co napisałem w odpowiedzi do @silver_spike. Tu nie chodzi o pieprzenie o wydajności. Chodzi o znajomość potencjału. Napiszesz czat obsługujący 400 ludzi w PHPie? Nie. Będziesz pisał serwer, który będzie serwował styczne strony HTML w C? Nie. I tak jak napisałem, wiem, że wszystko można źle napisać. Aha i tak, używałem profilera. Ogólnie nie lubię takiego podejścia w stylu, pieprzyć wydajność dokupi się serwerów w razie potrzeby. Czy to źle, że interesuję się wydajnością? Nie chodzi o małe skoki, ale jak coś jest o dwa rzędy wielkości wolniejsze to już wydaje mi się, że
@ufik78: a kto mowi, ze pieprzyc? Problemem wydajnosci PHP nie jest sam jezyk, a to jak jest obslugiwany - ba, pare sztuczek i zasuwa jak cholera - masz rozne zendy i inne cache-acceleratory. A jezyk dalej ten sam.
Zle, ze interesujesz sie wydajnoscia tam gdzie nie trzeba. Wydajnosc w "typowych" aplikacjach webowych to w 90% baza, Ale nie zawsze - dlatego pieprzenie o wydajnosci jezyka jest bez sensu bez twardych danych.
Jak planujesz naprawde duzo obciazenie i robisz to na powaznie - a nie jak gimnazjalista zakladasz 100 milionow wejsc na bloga na sekunde - to stac cie na ludzi ktorzy zajmuja sie
W RoR działa chociażby airbnb czy github, sam prowadze projekt, który ma kilkaset tysięcy transakcji miesięcznie i nie ma problemu z wydajnością.
Problemy z wydajnością to mają topowe startupy i one muszą przepisywać - pozostałe problemy to jak wspomniał @edgar_k baza czy inne zasoby - na mocnym dedyku, jesli wykorzystasz cache i przeniesiesz akcje do sidekiqa obsłużysz spokojnie
@silver_spike: tylko dodam, ze warto zauwazyc, KIEDY FB postanowil sie przepisa. To samo PayPal i inne serwisy :) W skrocie - najpierw mieli problem (wydajnosc), potem go rozwiazali (przepisali), bo zapewne tak wynikalo z doglebnej analizy.
Nie wierze, by zaczynali od sprawdzania, ktora technologia pociagnie miliardy transakcji czy ile tam robi PP.
gdzie tu porównuję języki?
Ale pozwól mi mieć swoje zdanie. To dyskusja, jeśli nie chcesz głosów odmiennych to napisz proszę na przyszłość zadając pytanie, że sobie ich nie życzysz ;)
Ale przepisuje się projekty w finalnej fazie wzrostu jeśli już, wielkości Facebook-a. A projekty z większą ilością logiki napisane w node i nawet którymś z nowoczesnych frameworków to, no cóż, narzut na utrzymanie tego i jakikolwiek rozwój przekroczy koszt kilkudziesięciu serwerów najmniej
Tak zgadza się, że przepisuje się zazwyczaj w końcowej fazie, ale nie zawsze. Często problemy pojawiają się dużo wcześniej. Może nastąpić sytuacja, gdy koszty utrzymania serwerów będą równe z przychodami, albo inaczej będą stanowiły sporą część przychodu. Wtedy redukcja ilości potrzebnych serwerów przyniesie wymierne korzyści, a zaoszczędzone pieniądze
Masz racje, wybór technologii jest kluczowy, szkoda, że często następuje pod wpływem hype'u. Bo przecież teraz już ludzie wybierają zamiast Node - Go, Rust czy jeszcze jeden, który ma być RoR killer, ale aż zapomniałem nazwy ;)