Aplikacje webowe w C/C++ ? Ktoś słyszał o G-WAN?

0

Jakiś czas temu przypadkiem natrafiłem na dość nietypowy serwer WWW o nazwie G-WAN. Dlaczego nietypowy? Bo:

  • ma status freeware (kod źródłowy nie jest otwarty, ale użytkować można darmo także w zastosowaniach komercyjnych)
  • natywnie obsługuje pisanie skryptów webowych w językach, które zazwyczaj się kompiluje, np. C/C++, Java, D (http://gwan.com/developers)
  • twórcy utrzymują, że wydajność i skalowalność samego serwera jest wielokrotnie wyższa niż np. Nginx, Lighttpd (nie wspominając o Apache)
  • posiada wbudowany prosty, ale (zdaniem twórców) bardzo szybki mechanizm składowania danych typu Key-Value (http://gwan.com/api#kv)

Idea tego rozwiązania bardzo mi się spodobała, głównie ze względu na to, że umożliwia bardzo łatwą pracę z C/C++ bez konieczności kompilowania kodu. Niestety ostatni raz coś pisałem w C wiele lat temu, ale planuję sobie coś przypomnieć w wolnej chwili i G-WAN wydaje się być do tego świetnym narzędziem.
Podejrzewam, że aplikacja napisana w C i działająca z G-WANem może być na prawdę znacząco szybsza i mniej zasobo-żerna niż coś równorzędnego w PHP/Apache i jeśli komuś z Was podoba się taki pomysł to bardzo chętnie poczytam o wynikach zabawy z tym softem.
W każdym razie po chwili zabawy u siebie (także z Apache Benchmarkiem) bardzo mi się to spodobało, a załączone liczne przykłady robią wrażenie (http://gwan.com/download).

Jestem ciekawy co myślą o tym ludzie używający C na codzień, dlatego umieszczam tutaj ten post.

0

Chyba nikt się w takie coś nie bawi, bo i tak dostęp do bazy danych jest zwykle wąskim gardłem. Oczywiście mam na myśli Javowe aplikacje - PHP jest strasznie wolne (z drugiej strony Javowe programy są na początku interpretowane, a dopiero po jakimś czasie od uruchomienia kompilowane - to może zaburzać wyniki benchmarków) i błędogenne, więc odpada w przedbiegach. Pisanie aplikacji w C/ C++ pewnie trwa 100x dłużej niż pisanie aplikacji w językach zarządzanych, gdzie można instrumentować sobie dowolnie kod w locie (co pozwala na użycie aspektów, ORMów, wstrzykiwania zależności, itp). A te benchmarki na tej stronie wyglądają na raczej bezsensowne.

0
Wibowit napisał(a):

A te benchmarki na tej stronie wyglądają na raczej bezsensowne.

Trochę tak, zwłaszcza te porównujące skrypty, ale benchmark z serwowania statycznych plików wygląda imponująco, chociaż mogłoby być więcej wielkości plików, nie tylko 100-bajtowy.

0
Wibowit napisał(a):

Chyba nikt się w takie coś nie bawi, bo i tak dostęp do bazy danych jest zwykle wąskim gardłem. Oczywiście mam na myśli Javowe aplikacje - PHP jest strasznie wolne (z drugiej strony Javowe programy są na początku interpretowane, a dopiero po jakimś czasie od uruchomienia kompilowane - to może zaburzać wyniki benchmarków) i błędogenne, więc odpada w przedbiegach. Pisanie aplikacji w C/ C++ pewnie trwa 100x dłużej niż pisanie aplikacji w językach zarządzanych, gdzie można instrumentować sobie dowolnie kod w locie (co pozwala na użycie aspektów, ORMów, wstrzykiwania zależności, itp). A te benchmarki na tej stronie wyglądają na raczej bezsensowne.

Prawda, ale kto powiedział że aplikacja webowa musi koniecznie mieć pod sobą jakąś bazę danych?
Projekt jest interesujący jeśli tworzy się usługi typowo obliczeniowe (podaj parametry, a serwer Ci obliczy wynik), jakieś interfejsy do urządzeń itp. Można się pobawić przez chwilę, a potem napisać coś własnego.

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