Vlákno názorů k článku Příběhy z vývoje nejrychlejšího virtuálního stroje na světě od skybber - Neměl jsem dosud čas projekt GraalVM podrobněji zkoumat,...

  • Článek je starý, nové názory již nelze přidávat.
  • 1. 6. 2018 13:34

    skybber (neregistrovaný)

    Neměl jsem dosud čas projekt GraalVM podrobněji zkoumat, ale podle doposud získaných informací jsem měl za to, že to je JIT pro starý dobrý hotspot. Jak to vlastně je a jaký je případný zaměr do budoucna?

  • 1. 6. 2018 13:48

    ava (neregistrovaný)

    No jestli se chceš dozvědět něco o GraalVM, máš veliké štěstí, zrovna na to téma shodou okolností vyšel bezva článek na rootu, můžeš si ho přečíst tady: https://www.root.cz/clanky/pribehy-z-vyvoje-nejrychlejsiho-virtualniho-stroje-na-svete/

  • 1. 6. 2018 14:56

    skybber (neregistrovaný)

    No právě, ať čtu, jak čtu, tak o Hotspotu ani ťuk :) Zmínka o hotspot-embedded chybí..

  • 1. 6. 2018 15:19

    xxxxx (neregistrovaný)

    Já myslím, že obdoba hotspot je tam popsána ...

    ".. provádí statickou analýzu kódu s cílem nalezení částí, které se skutečně mohou v průběhu běhu programu použít. Po té provede úplný ahead-of-time překlad a vytvoří samostatně použitelný soubor pro daný operační systém .."

    Ale mohu se mýlit, GraalVM neznám, mám jen informace z článku.

    P.S.: NEsouhlasím se zpracováním osobních údajů v rozsahu v odkazovaném textu u checkboxu, který jde NAD rámec údajů nezbytných pro technické zpracování

  • 1. 6. 2018 17:50

    Jaroslav Tulach

    Někde uprostřed článku je část věnované čisté Javě. Nejprve se běží na standardní verzi Javy8:

    $ mvn -f java/pom.xml install
    $ java -version
    java version "1.8.0_171"
    $ mvn -f java/algorithm/pom.xml exec:java
    Hundred thousand primes computed in 86 ms

    a pak se ten samý kód spustí na GraalVM. Úplně stejným příkazem, jen s odkazem na jiný adresář, kde je nainstalována GraalVM (to je možné, protože rozložení souborů je vlastně úplně stejné):

    $ JAVA_HOME=/graalvm-1.0.0-rc1/ mvn -f java/algorithm/pom.xml exec:java
    Hundred thousand primes computed in 79 ms

    Z toho mělo vyplynout, že GraalVM je 100% kompatibilní náhražka oficiálního JDK. Prostě si GraalVM stáhnete a hned uvidíte, jestli vám váš Java výpočet poběží rychleji!

    GraalVM = JDK8 - C2Kompilátor + GraalKompilátor + interpretry JS/Ruby/R/LLVM/Pyt­hon + native-image

  • 1. 6. 2018 22:11

    skybber (neregistrovaný)

    Z pohledu ciste javy by se to dalo vyjadrit i jako: GrallVM = (Hotspot+JVMCI)+­GraalKompilator(JIT)

    Otestoval jsem to na našem větším projektu: 1.5MLOC, 5752 source files:

    OpenJdk8:


    skybber@skybber ~/workspace/pro­ject.prj $ java -version
    openjdk version "1.8.0_162"
    OpenJDK Runtime Environment (build 1.8.0_162-b12)
    OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)
    skybber@skybber ~/workspace/pro­ject.prj $ time mvn -Dmaven.test.skip=true package
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 01:16 min
    [INFO] Finished at: 2018-06-01T22:06:26+02:00
    [INFO] Final Memory: 19M/410M
    [INFO] ------------------------------------------------------------------------

    real 1m18.002s
    user 3m50.231s
    sys 0m5.159s

    GraalVM:


    skybber@skybber ~/workspace/pro­ject.prj $ java -version
    openjdk version "1.8.0_161"
    OpenJDK Runtime Environment (build 1.8.0_161-12)
    GraalVM 1.0.0-rc1 (build 25.71-b01-internal-jvmci-0.42, mixed mode)
    skybber@skybber ~/workspace/pro­ject.prj $ time mvn -Dmaven.test.skip=true package
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 01:24 min
    [INFO] Finished at: 2018-06-01T21:58:07+02:00
    [INFO] Final Memory: 29M/471M
    [INFO] ------------------------------------------------------------------------

    real 1m26.417s
    user 4m20.092s
    sys 0m5.753s

  • 1. 6. 2018 15:04

    xxxxx (neregistrovaný)

    Ten článek si opravdu přečtěte, i podrobněji, stojí za to. Je sice psán stylem PR, ale má jinak i celkem zajímavé informace.

    Takže, pokud GraalVM blížeji neznáte, musíte přeskočit úvodní marketingové žblepty, abyste se dozvěděl o čem je řeč. Musíte jít až na třetí odstavec (2-3 stránku) "GraalVM ... Univerzální virtuální stroj GraalVM vám umožní spouštět: .. GraalVM lze použít buď samostatně a nebo ji začlenit ...".

    Už na té třetí straně začíná plnohodnotný (non PR) text, už psaný normálnějším slohem. A je docela přínosný.

    P.S.: Občas si i pak musíte odmyslet angažované svazácké výkřiky typu "Pojďme budovat tuto revoluční technologii ..." či styl opakovaných a zbytečných řečnických otázek typu "Jsou opravdu GraalVM jazyky tak rychlé, jak o sobě tvrdí?", ale už je toho výrazně méně, než v úvodu. To už ignorujte, zbytek textu má svou informační hodnotu, která za přečtení stojí.

    P.P.S.: NEsouhlasím se zpracováním nepotřebných osobních údajů, zejména v rozsahu v odkazovaném textu u checkboxu, který jde NAD rámec údajů nezbytných pro technické zpracování (např. II.2.2 ... je v rozporu s GDPR vynucovat takový souhlas, bez možnosti užít službu bez souhlasu).