Vlákno názorů k článku Pohled pod kapotu JVM – základy optimalizace aplikací naprogramovaných v Javě (3) od kvr kvr - Super, díky za článek. Po předchozím dílu mi ty...

  • Článek je starý, nové názory již nelze přidávat.
  • 24. 9. 2013 8:48

    kvr kvr

    Super, díky za článek.

    Po předchozím dílu mi ty výsledky přišly docela pomalé. Dneska letmým pohledem na první ArrayTest3.test() to vypadá, že kompilátor má sice snahu unrollovat, ale neuvědomuje si nedostatek registrů. Navíc ani nemá žádnou větší snahu popřeházet instrukce, aby nebyly závislé na předchozí (tedy nevím, jak velkou roli to hraje pro dnešní procesory).

    Má tyhle informace kompilátor (včas) k dispozici, nebo to tam na nějaké vyšší vrstvě naplácá bez ohledu na specifika cílové platformy? Skoro mi přijde, že bez unrolling by byl ten cyklus rychlejší...

  • 24. 9. 2013 9:55

    Pavel Tišnovský
    Zlatý podporovatel

    No na i386 je to docela problem, hotspot na to neni moc staveny, ja zkusim do pristiho dilu dat ukazky,jak to vypada na skutecnych procesorech^W^W RISCech - SPARC apod.

    Prehazovani instrukci - to me taky neustale prekvapuje, ne nedela to.

    Co se tyce C1 prekladace, tak ten ma takzvanou linearni alokaci registru, coz je na i386 zlo, C2 pouziva pro alokaci registru obarvovani grafu - trosku slozitejsi vec, zkusim to nekdy popsat vice do hloubky.