Javalla raskaita sovelluksia?

Tykäri

Onko kellään kokemusta? Miten hyvin java soveltuu raskaiden sovellusten tekoon? Tiedän, että javassa samantasoinen softa saattaa syödä esim. enemmän muistia kuin esmes c :ssa.

Minua ei kiinnosta mikään ybercyber 3d- grafiikkaa vaan sellainen raskas softa joka käyttää huikeita määriä tietoja.

5

545

    Vastaukset 5

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Nimimerkki

      Mä olen tehnyt softaa Javalla joka käyttää tietokantaa jossa on tällä hetkellä vähän vajaa tera tavaraa. Ei kai kuitenkaan kukaan aio softan sisällä pitää muistissa oikeasti "huikeaa määärää tietoa"? Millä tahansa kielellä koneen saa kyykkyyn jos oikein yrittää.

      Java ei ole (vielä) maailman paras valinta graafisten käyttöliittymien rakenteluun, natiivina softa pyörii ruudulla paremmin, ei pääse mihinkään. Mutta serverisoftan tekemisessä suorituksessa ei ole eroa, suurin ero löytyy kuitenkin penkin ja näppiksen välistä.

      Mulla on duunissa ylläpidettävänä aika heterogeeninen ympäristö (Solaris/Linux/Windows/OS2), joten Java on mulle aika helppo valinta.

      • jejjeja3

        Niin jos tietoa pitää käsitellä jatkuvasti jollain tavalla, niin silloin tietokanta on hidas joten muistissa ilmanmuuta niinpaljon kuin mahdollista. Riippuu mitä halutaan tehdä niin tietokannasta paljon tietoa jota käsitellään ja sit takasin kantaan, tätä toistetaan niin monesti kuin tarvis.

        Siis varsinaisesti tietomäärä ei ole ratkaiseva vaan mitä sillä tehdään.

        En asiasta mitään tiedä, mutta eiköstäs Java vaadi VM tai vastaavan, joten se on aina hitaampa kuin C jne... matalemman tason kielet. Nopeutta voi vertailla http://shootout.alioth.debian.org/

        Ja kyllä C on serveri jutuissakin nopeampi, mihkä se nopeusero muuttuisi?

        Toki Javalla on tietyt asiat helpompa ja nopeampi tehdä, ja usein nopeuserolla ei ole merkitystä.


      • Nimimerkki
        jejjeja3 kirjoitti:

        Niin jos tietoa pitää käsitellä jatkuvasti jollain tavalla, niin silloin tietokanta on hidas joten muistissa ilmanmuuta niinpaljon kuin mahdollista. Riippuu mitä halutaan tehdä niin tietokannasta paljon tietoa jota käsitellään ja sit takasin kantaan, tätä toistetaan niin monesti kuin tarvis.

        Siis varsinaisesti tietomäärä ei ole ratkaiseva vaan mitä sillä tehdään.

        En asiasta mitään tiedä, mutta eiköstäs Java vaadi VM tai vastaavan, joten se on aina hitaampa kuin C jne... matalemman tason kielet. Nopeutta voi vertailla http://shootout.alioth.debian.org/

        Ja kyllä C on serveri jutuissakin nopeampi, mihkä se nopeusero muuttuisi?

        Toki Javalla on tietyt asiat helpompa ja nopeampi tehdä, ja usein nopeuserolla ei ole merkitystä.

        Tietokannoissakin on välimuisti, jota pidetään keskusmuistissa, ei kannassa olevaa dataa tarvi aina levyltä lähteä hakemaan. Toki on himpun verran nopeampaa käyttää ohjelman omaa muistia, mutta tuota jättimäärää ei ole mitään järkeä pitää jatkuvasti ohjelman sisuksissa.

        Java tosiaan pyörii omassa virtuaalikoneessaan aina. Javan nopeutta on tutkittu aika paljon muihin kieliin verrattuna ja uusien virtuaalimasiinoiden yhteydessä on todettu ettei nopeuseroa juuri ole.

        Tottakai ohjelmasta saa nopeamman mitä alemman tason kielellä sen kirjoittaa, tuskin mikään nopeudessa voittaa esim suoraan assemblerilla naputettua, hyvin toteutettua softaa. Usein vaan moni sotkee Javan hitaudesta puhuessa virtuaalikoneen käynnistymiseen menevän ajan Java-ohjelman suorituksen hitaudeksi.


      • jejjeja3
        Nimimerkki kirjoitti:

        Tietokannoissakin on välimuisti, jota pidetään keskusmuistissa, ei kannassa olevaa dataa tarvi aina levyltä lähteä hakemaan. Toki on himpun verran nopeampaa käyttää ohjelman omaa muistia, mutta tuota jättimäärää ei ole mitään järkeä pitää jatkuvasti ohjelman sisuksissa.

        Java tosiaan pyörii omassa virtuaalikoneessaan aina. Javan nopeutta on tutkittu aika paljon muihin kieliin verrattuna ja uusien virtuaalimasiinoiden yhteydessä on todettu ettei nopeuseroa juuri ole.

        Tottakai ohjelmasta saa nopeamman mitä alemman tason kielellä sen kirjoittaa, tuskin mikään nopeudessa voittaa esim suoraan assemblerilla naputettua, hyvin toteutettua softaa. Usein vaan moni sotkee Javan hitaudesta puhuessa virtuaalikoneen käynnistymiseen menevän ajan Java-ohjelman suorituksen hitaudeksi.

        "Tietokannoissakin on välimuisti, jota pidetään keskusmuistissa, ei kannassa olevaa dataa tarvi aina levyltä lähteä hakemaan. Toki on himpun verran nopeampaa käyttää ohjelman omaa muistia, mutta tuota jättimäärää ei ole mitään järkeä pitää jatkuvasti ohjelman sisuksissa."

        Toki tietokannoissakin on erillaisia välimuisteja, mutta silti tietokannoista datan hakeminen on hidasta sillä aikaa menee kyselyn tulkitsemiseen jne... asioihin, siksi usein kannattavempaa hakea yhdellä kyselyllä paljon dataa kuin usealla vähemmän. Ja mitä tuohon teran kantaan tulee niin välimuistissa siitä on vain pieni osa, ne mitä kysytään usein. Ja useinkaan kaikkia tietoja ei tartte käsitellä vain pientä osaa niistä.


        "Java tosiaan pyörii omassa virtuaalikoneessaan aina. Javan nopeutta on tutkittu aika paljon muihin kieliin verrattuna ja uusien virtuaalimasiinoiden yhteydessä on todettu ettei nopeuseroa juuri ole."
        "Usein vaan moni sotkee Javan hitaudesta puhuessa virtuaalikoneen käynnistymiseen menevän ajan Java-ohjelman suorituksen hitaudeksi."

        Mikäli tuon linkittämäni sivun tiedot pitää paikkaansa niin C on noin ~2 kertaa nopeampi. Kyllä tuommoinen ~2 kertainen ero on merkittävä jos puhutaan ohjelmista jonka suorittaminen kestää minuutteja tai jopa tunteja. Pikku ohjelmissa tuommoinen ~2 kertanen ero on mitätön.


        "Tottakai ohjelmasta saa nopeamman mitä alemman tason kielellä sen kirjoittaa, tuskin mikään nopeudessa voittaa esim suoraan assemblerilla naputettua"

        Totta, mutta nykyaikana kääntäjät tekevät todella hyvää jälkeä, jotenka voipi käydä niin että Assemblerilla useimmat saa aikases paljon hitaampaa koodia.

        Mutta tärkeintä on kuitenkin, että kieli valitaan tarpeen mukaan, tietenkin omat taitonsa huomioiden.


      • Nimimerkki
        jejjeja3 kirjoitti:

        "Tietokannoissakin on välimuisti, jota pidetään keskusmuistissa, ei kannassa olevaa dataa tarvi aina levyltä lähteä hakemaan. Toki on himpun verran nopeampaa käyttää ohjelman omaa muistia, mutta tuota jättimäärää ei ole mitään järkeä pitää jatkuvasti ohjelman sisuksissa."

        Toki tietokannoissakin on erillaisia välimuisteja, mutta silti tietokannoista datan hakeminen on hidasta sillä aikaa menee kyselyn tulkitsemiseen jne... asioihin, siksi usein kannattavempaa hakea yhdellä kyselyllä paljon dataa kuin usealla vähemmän. Ja mitä tuohon teran kantaan tulee niin välimuistissa siitä on vain pieni osa, ne mitä kysytään usein. Ja useinkaan kaikkia tietoja ei tartte käsitellä vain pientä osaa niistä.


        "Java tosiaan pyörii omassa virtuaalikoneessaan aina. Javan nopeutta on tutkittu aika paljon muihin kieliin verrattuna ja uusien virtuaalimasiinoiden yhteydessä on todettu ettei nopeuseroa juuri ole."
        "Usein vaan moni sotkee Javan hitaudesta puhuessa virtuaalikoneen käynnistymiseen menevän ajan Java-ohjelman suorituksen hitaudeksi."

        Mikäli tuon linkittämäni sivun tiedot pitää paikkaansa niin C on noin ~2 kertaa nopeampi. Kyllä tuommoinen ~2 kertainen ero on merkittävä jos puhutaan ohjelmista jonka suorittaminen kestää minuutteja tai jopa tunteja. Pikku ohjelmissa tuommoinen ~2 kertanen ero on mitätön.


        "Tottakai ohjelmasta saa nopeamman mitä alemman tason kielellä sen kirjoittaa, tuskin mikään nopeudessa voittaa esim suoraan assemblerilla naputettua"

        Totta, mutta nykyaikana kääntäjät tekevät todella hyvää jälkeä, jotenka voipi käydä niin että Assemblerilla useimmat saa aikases paljon hitaampaa koodia.

        Mutta tärkeintä on kuitenkin, että kieli valitaan tarpeen mukaan, tietenkin omat taitonsa huomioiden.

        Tässähän tosiaan C :n ja Javan suoritusta voi verrata toisiinsa suoraan;
        http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=gpp&lang2=java

        Tulkatut tai virtuaalikoneessa suoritetut kielet tosiaan on hitaampia, ei siitä pääse mihinkään, mutta edelleen ero ei ole niin suuri kuin voisi odottaa. Ero on lähempänä 1,5:ttä kuin kahta (1.87/1.24 = 1.51). :) Silti jos joutuu odottamaan jokaista ohjelman suoritusta kolme päivää pidempään, jos ohjelma on tehty C:n sijaan Javalla, ehkä kannattaa harkita kielen vaihtoa. En usko että kovin montaa tuntiakaan jaksaisin odottaa pidempään... Edelleen tuo "startup"-aika on, kuten odotettua, valtavan paljon suurempi Javalla kuin C :lla. Mut kuitenkin yllätti että Python ja Ruby kellottaa noin huonoja aikoja.


        Siitä tietokannan käytöstä vielä. Tosiaan siihen, mitä tietoa kannattaa pitää ohjelmassa ja mitä tietokannassa riippuu täysin siitä mitä ohjelmaltaan haluaa. Tietoa ei todellakaan kannata hakea rivi kerrallaan omaan ohjelmaan käsiteltäväksi, mutta toisaalta tietoa voi säätää valmiiksi kannan omilla funktioilla ja toiminnallisuuksilla. Mun tapauksessa ainakin on niin, että tietokannan alla on rautaa ja potkua suorastaan järkyttävä määrä, kun taas softat pyörii paljon kevyemmillä koneilla. Mun tapauksessa on siis usein tehokkaampaa tai nopeampaa palauttaa kannasta valmiiksi muokattua dataa, tai pistää kanta muokkaamaan esikäsiteltyä tietoa, kuin tehdä kaikki omassa softassa. Esimerkiksi Sybasen tietokantoihin pystyy tekemään omia Java-luokkia tiedonkäsittelyä varten (ASE15:ssa tulee ihan normaalin lisenssin mukana). Mutta ei, mullakaan ei tietokannalla ole teraa keskusmuistia, vielä ainakaan. :)

        Mutta jos dataa joudutaan hakemaan levyltä, ohjelman nopeudella ei ole juuri merkitystä, softa odottelee kuitenkin levyhakua... Alkuperäiseen kysymykseen voisi kuitenkin vielä sanoa että Javalla voi ihan mainiosti tehdä järeitä tietomääriä käsitteleviä ohjelmia. Softan nopeus ja tehokkuus on edelleen paljon enemmän riippuvainen penkin ja näppiksen välissä hääräävästä jampasta kuin siitä millä kielellä ohjelma on toteutettu.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Nyt se syksy on sitten alkanut

      Esimerkiksi tänään sataa aamusta iltaan, ja nytkin.
      Maailman menoa
      60
      1059
    2. Minä en ole koskaan

      Rakastanut ketään toista yhtä paljon kuin sinua
      Ikävä
      98
      1034
    3. Tiesitkö? Jorma Uotisen EX-rakas on Helena Lindgren - Nämä ovat välit nyt: "Me ollaan..."

      Jorma Uotinen ja Helena Lindgren olivat avoliitossa v. 1982-1999. Pariskunta oli aikansa näyttävä julkkispari, missä i
      Kotimaiset julkkisjuorut
      21
      882
    4. Olet nainen ollut vaikein rasti

      Eniten olet tunteitani myllännyt ja niitä kuluttanut, ja tuottanut. 🤔
      Ikävä
      60
      820
    5. Vähän pitää

      Kiusia ja näyttää
      Ikävä
      135
      812
    6. Anteeksi J-mies

      Anteeksi että myötävaikutin siihen että rakastuit minuun, jota et voi koskaan saada. Viimeksi kun näimme ja katselimme t
      Ikävä
      124
      805
    7. Kenen viisautta on ollut laittaa tie väärällä murskeella pilalle

      Kenen viisautta on ollut kun Siimeksen/Kylmänpurontie pantu pilalle kun on ajettu liian karkeaa mursketta. Rengasliikke
      Hyrynsalmi
      25
      689
    8. Riittääkö mahkut

      Kaivattuusi 🤭.
      Ikävä
      53
      678
    9. Taidat olla

      Luovuttanut jo minun suhteeni osalta?
      Ikävä
      45
      666
    10. Kuhmolainen opettaja tuomittu vainoamisesta

      https://yle.fi/a/74-20248184 ”Kuusikymppinen kuhmolaisnainen piinasi naapureitaan lähes kahdeksan vuoden ajan. Nainen
      Kuhmo
      14
      625
    11. Minä muistan

      Minä muistan sinut nauravana. Sellaisena, joka sai tavallisenkin hetken tuntumaan vähän kevyemmältä, kuin huoneeseen ol
      Ikävä
      45
      620
    12. Mä voisin rakastua noihin tähti silmiin

      Katseesi on niin lumoava nainen💚.
      Ikävä
      19
      607
    13. Siinä kävi mies nyt niin että tämä ämmä muuttaa ulkomaille

      Vuonojen maa kutsuu, joten ei hätää. Et kuule minusta enää. 😂 Lycka till! Ämmä riittää.
      Ikävä
      83
      586
    14. Koska Martina viettää aikaansa lapsiensa kanssa

      Äiti vaan juoksee miehen perässä Tallinnassa, Lontoossa, Turussa. Kyllä oli kätilö oikeassa, kun sanoi, että ei olisi ka
      Kotimaiset julkkisjuorut
      142
      582
    15. Jos tullaan toisiamme vastaan, niin

      pitäiskö pysähtyä ja onnitella?
      Ikävä
      46
      578
    16. Mitä muuta on olemassa kuin lisääntyminen

      Jos mies ei pääse lisääntymään niin mikä hänen osansa elämässä on? mitä jää jäljelle? Hän on vain muiden palvelija kok
      Sinkut
      128
      573
    17. Voisiko vielä välillemme jotain kehittyä

      Vai heihei ja ei nähdä enää.
      Ikävä
      35
      570
    18. Ähtäri on taas TV: n ja radion ykkösuutinen

      Uusi podcast on julkaistu ja on nyt kuunneltavissa. Mot on tehnyt hyvää työtä! Mikko Savola ja kepu ei ota mitään vast
      Ähtäri
      47
      568
    19. Pahkalassa tapahtuu

      Mitäs on tapahtunut yöllä pahkalan kerrostaloilla.oli poliisia ja ambulanssia taas vaihteeksi
      Parkano
      11
      529
    20. Tilanteenne

      Onko tilanteenne tällä hetkellä hyvä?
      Ikävä
      48
      527
    Aihe