ktoś jeszcze tego używa przy nowych projektach? xD
No tak mniej więcej większość firm o skali internetowej. Oprócz tego w Javie i innych językach na JVM pisze się soft, który jest niezbędny do działania tego typu systemów, np. Kafka, Hadoop, Spark, Cassandra, Elastisearch, Flink, Solr itd wszystko korzysta z JVM
@LazyInitializationException: masz na myśli ten JIT, który po 25 latach researchu nadal nie umie prostych pętli for na SSE/AVX optymalizować, czy przekazać Optionala z metody przez stos zamiast przez heap?
@LazyInitializationException: Nie są szybsze. Te mikrobenchmarki Techempower nie mają nic wspólnego z wydajnością w realnym świecie.
JaVa NiEUmIe PrOsTyCh PęTli FoR na SsE/AvX
SSE to był tylko pierwszy z brzegu przykład. Ten JIT (a dokładniej HotSpot, bo Java formalnie nie ma JITa) na który tak się powołujesz ma siłę optymalizacji mniej więcej taką jak GCC 2.x z okolic roku 2000 w trybie -O2. Tak ze 20 lat do tyłu względem współczesnych
Oczywiście, masz rację. Wszyscy są głupi, popełniają błędy i tak w ogóle to nic nie działa. Topowe firmy na świecie zarabiające miliardy dolarów nie wiedzą co robią. Wykopek ich oświeci, że robią źle
@LazyInitializationException: Tak, bo firmy nigdy nie polegają na hajpie i reklamie, a Sun/Oracle nigdy nie wciskał Javy do płatków śniadaniowych.
Tak się składa że jestem częścią teamu jednego z tych projektów które wymieniłeś. Gdyby można było zacząć od nowa, to nigdy nie zostałaby wybrana Java. Ale nikt nie przepisze miliona linii kodu, więc tak to się kręci.
Topowe firmy na świecie zarabiające miliardy dolarów nie wiedzą co robią.
Ale nikt nie przepisze miliona linii kodu, więc tak to się kręci.
@Krolik: Zazwyczaj nie trzeba nic przepisywać. Wystarczy kompatybilność z interfejsami. Jest np. Redpanda, który jest kompatybilny z Kafką.
Zabawne jest, że wymieniłeś kilka firm, które zaczęły development swoich produktów ponad dekadę temu (w tym Hadoop - to już dinozaur) i te dla Ciebie są autorytetem a inne, znacznie większe robiące *nowsze* produkty o znacznie większej skali już nie. Do
Pewne rzeczy się implementuje w językach bliższych hardware'owi i dobrze o tym wiesz.
@LazyInitializationException: dotyczy to w szczególności systemów baz danych czyli właśnie systemów, które wymieniłeś.
Wybór Javy do budowy systemu baz danych albo systemu kolejkowego jest receptą na to aby taki system był ograniczony wydajnością CPU a nie we/wy. Właśnie dlatego że Java zamula.
Zobacz co Redpanda ma w podtytule projektu:
Redpanda is a streaming data platform for developers. Kafka
Oprócz Sparka, to w każdej dużej firmie w której pracowałem wycofywano się z używania tych technologii, albo to rozważano. Istniało to tylko ze względu że zaczęto tego używać dawno temu i nie tak łatwo się z tego wyplątać.
@mcnight95: W każdej dużej firmie w której pracowałem to aktywnie korzystano z tych technologii i nikt nie myślał o wycofywaniu się z nich. No ale może nie były to wystarczająco duże firmy, przychody miały w okolicach 20 mld eur rocznie. Ciekawy jestem czym rozważano by zastąpić Kafkę, Sparka, Flinka i Elasticsearch?
@LazyInitializationException: Kafke można zastąpić przez RedPanda, Elastic przez MeiliSearch, Cassandre przez Datastax Astra (w chmurze) lub Scylle a Sparka/Hadoopa na ogół można zastąpić jednym prostym programem w C działającym na 5-letnim kompie, a zdarza się że i Excel daje radę. Widziałem duże i bardzo poważne firmy używające Sparka do analizy 100 GB danych gdzie czas wykonania analizy szedł w dni (tymczasem cały dataset można było zmieścić na jednym SSD i przetworzyć
Zaawansowane funkcje typu tiered stoarage wymagają płatnej licencji. Replikacja w RedPanda jest gorsza. W Kafce replikacja jest asynchroniczna i ma wbudowany mechanizm odzyskiwania i
Sprawdź, jakie nowości i usprawnienia przynosi Java 21, która będzie wspierana jako LTS przez 5 lat.
#java #programowanie #naukaprogramowania #pracait #programista15k #backend
Nie zamula od 1997 kiedy wprowadzono JIT
@mcnight95
No tak mniej więcej większość firm o skali internetowej. Oprócz tego w Javie i innych językach na JVM pisze się soft, który jest niezbędny do działania tego typu systemów, np. Kafka, Hadoop, Spark, Cassandra, Elastisearch, Flink, Solr itd wszystko korzysta z JVM
@Werdna
@LazyInitializationException: masz na myśli ten JIT, który po 25 latach researchu nadal nie umie prostych pętli for na SSE/AVX optymalizować, czy przekazać Optionala z metody przez stos zamiast przez heap?
Go cry about it xD
Serio, kogo to obchodzi, skoro frameworki javowe w realnych usecasach są w stanie być szybsze nawet od Rusta xD
SSE to był tylko pierwszy z brzegu przykład. Ten JIT (a dokładniej HotSpot, bo Java formalnie nie ma JITa) na który tak się powołujesz ma siłę optymalizacji mniej więcej taką jak GCC 2.x z okolic roku 2000 w trybie -O2. Tak ze 20 lat do tyłu względem współczesnych
Oczywiście, masz rację. Wszyscy są głupi, popełniają błędy i tak w ogóle to nic nie działa. Topowe firmy na świecie zarabiające miliardy dolarów nie wiedzą co robią. Wykopek ich oświeci, że robią źle
Tak się składa że jestem częścią teamu jednego z tych projektów które wymieniłeś. Gdyby można było zacząć od nowa, to nigdy nie zostałaby wybrana Java. Ale nikt nie przepisze miliona linii kodu, więc tak to się kręci.
Zabawne jest, że
@Krolik: Zazwyczaj nie trzeba nic przepisywać. Wystarczy kompatybilność z interfejsami. Jest np. Redpanda, który jest kompatybilny z Kafką.
@LazyInitializationException: dotyczy to w szczególności systemów baz danych czyli właśnie systemów, które wymieniłeś.
Wybór Javy do budowy systemu baz danych albo systemu kolejkowego jest receptą na to aby taki system był ograniczony wydajnością CPU a nie we/wy. Właśnie dlatego że Java zamula.
Zobacz co Redpanda ma w podtytule projektu:
Oprócz Sparka, to w każdej dużej firmie w której pracowałem wycofywano się z używania tych technologii, albo to rozważano. Istniało to tylko ze względu że zaczęto tego używać dawno temu i nie tak łatwo się z tego wyplątać.
@Krolik: No nie można właśnie, bo RedPanda to nie jest reimplementacja kafki w C++ tylko to inny broker mający kompatybilne API. RedPanda ma gorszą, restrykcyjną licencję. Jest zoptymalizowany do innego rodzaju obciążenia i w wielu przypadkach Kafka jest po prostu szybsza https://jack-vanlightly.com/blog/2023/5/15/kafka-vs-redpanda-performance-do-the-claims-add-up
Zaawansowane funkcje typu tiered stoarage wymagają płatnej licencji. Replikacja w RedPanda jest gorsza. W Kafce replikacja jest asynchroniczna i ma wbudowany mechanizm odzyskiwania i