Kaikki tehokas on c-kieltä, kokeile ohjelmoida Direct3D-koodia.

Anonyymi

Niin direct3d... juurikin sellainen erittäin laiteläheinen grafiikkakiihdyttimien koodia, ei ole pythonia heh.

18

1377

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Et ymmärrä siitä höykäsen pöläystä.

      • Anonyymi

        Sinä et nyt ymmärrä mistään mitään.


      • Anonyymi

        w10 toimivuus on valetta!
        w10 on oikeesti OUT. Windows 10 on mahdollisesti kaikkien aikojen pahin vakoiluohjelma!
        Sekä dramaattinen suorituskyky syöppö. Sekä super toimimattomuus!!


    • Anonyymi

      Tehokkuus riippuu näkökulmasta. Teoriassa tehokkaimman mahdollisen ohjelman saat kun koodaat sen suoraan binäärikoodina, mutta kovin tehokasta työtä se ei olisi, koska pienenkin ohjelman tekeminen olisi järjettömän iso vaiva.

      Toisaalta mahdollisimman nopea työnteko ei tuota oikeasti kovinkaan tehokkaasti toimivaa koodia, vaan koko ajan pitäisi miettiä mitä tekee ja jälkikäteenkin vielä optimoida ohjelman toimintaa.

      C-kielessä on yleisellä tasolla aika hyvä tasapaino noiden ääripäiden välillä, mutta se, mikä kieli on kulloinkin tehokkain vaihtoehto, riippuu täysin tehtävästä. Jos pitäisi tehdä ohjelma, jossa on komentoriviltä hallittava tietokanta, niin C on varmasti aika vahvoilla. Jos sille pitäisi tehdä graafinen käyttöliittymä, niin C:n kanssa pelleilystä tulee vain tarpeetonta vaivaa, vaikka lopputulos olisikin aavistuksen optimoidumpi kuin jollain käytännöllisemmällä ja tehtävään sopivammalla kielellä toteutettuna, kuten C#:lla. Jos haluat vain pikaisesti nimetä uudelleen ison kansiorakenteen, Python on näppärin vaihtoehto (olettaen, että osaat koodata Pythonilla). Jos haluat tehdä isolle datasetille tilastollista analyysia, niin kannattaa käyttää R:ää.

      Yhteen kieleen jumittuminen on yhtä järkevää kuin työkalupakki, jossa on pelkkä ruuvimeisseli. Kyllähän sillä saa melkein mitä vain tehtyä kun innovoi, mutta ei se kivaa tai tehokasta ole.

      • Anonyymi

        Kääntäjät optimoivat (tekoäly)koodia niin tehokkaasti ettei C- tai assemblerille ole mitään käyttöä nykyään.


      • Anonyymi
        Anonyymi kirjoitti:

        Kääntäjät optimoivat (tekoäly)koodia niin tehokkaasti ettei C- tai assemblerille ole mitään käyttöä nykyään.

        Automaattikääntäjät tekevät ihan hyvää työtä nopeasti, mutta huolellinen ihminen pystyy optimoimaan paljon paremmin paljon hitaammin.


      • Anonyymi
        Anonyymi kirjoitti:

        Kääntäjät optimoivat (tekoäly)koodia niin tehokkaasti ettei C- tai assemblerille ole mitään käyttöä nykyään.

        Mitä se tekoälykoodi sitten on?


      • Anonyymi

        Yhteen kieleen jumittuminen on yhtä järkevää kuin kaikkien kielten opiskelu. Kannattaa luoda oma työkalupakkinsa ja opetella käyttämään sitä ennemin! Eli valita järkevästi kieliä, mitkä niveltyvät hyvin yhteen toistensa kanssa ennemmin kuin alkaa opiskella jotain random-kieltä, joka sattuu tulemaan nurkan takaa vastaan uuden projektin nimissä. Kieli kun ei ole kuin kokoelma syntaksi-sääntöjä ja se asian pihvi tulee kaikesta oheen liittyvästä, ,kuten kirjastoista, kääntämisestä, dokumentoinnin helppoudesta, kone-arkkitehtuurista, yms. yms. Ja olen kyllä sitä mieltä, että assembler kuuluu tähän työkalupakkiin - vaikka kaikki ehkä eivät samaa mieltä olisikaan! Ja sitten kun oma pakki on hallussa - ei ole kovin suuri kynnys kokeilla "kaverin" pakista löytyviä työkalujakaan ja kenties päivittää oman pakin sisältöä.


      • Anonyymi

        "C-kielessä on yleisellä tasolla aika hyvä tasapaino noiden ääripäiden välillä"

        Ei ole. C-kielellä jos tekee jonkun yksinkertaisen palikan niin käynnistyy nopeasti ja toimii nopeasti mutta ongelma tulee siitä kun C-kielisiä palikoita käynnistellään ja kytketään toisiinsa niin se onkin hyvin hidasta. C-kieli on aika huono siinä että samassa prosessissa toimisivat kun on suunniteltu siihen, että käynnistää palikoita omiin prosesseihin.

        Esimerkiksi jos tekee verkkosivuston niin se Python on esimerkiksi helposti suorituskykyisempi kun ei aina sisältöä ladattaessa käynnistetä sitä ohjelmanpätkää uudestaan vaan toimii samassa prosessissa siinä HTTP palvelimessa.


      • Anonyymi
        Anonyymi kirjoitti:

        "C-kielessä on yleisellä tasolla aika hyvä tasapaino noiden ääripäiden välillä"

        Ei ole. C-kielellä jos tekee jonkun yksinkertaisen palikan niin käynnistyy nopeasti ja toimii nopeasti mutta ongelma tulee siitä kun C-kielisiä palikoita käynnistellään ja kytketään toisiinsa niin se onkin hyvin hidasta. C-kieli on aika huono siinä että samassa prosessissa toimisivat kun on suunniteltu siihen, että käynnistää palikoita omiin prosesseihin.

        Esimerkiksi jos tekee verkkosivuston niin se Python on esimerkiksi helposti suorituskykyisempi kun ei aina sisältöä ladattaessa käynnistetä sitä ohjelmanpätkää uudestaan vaan toimii samassa prosessissa siinä HTTP palvelimessa.

        Tämä ...'kun C-kielisiä palikoita käynnistellään ja kytketään toisiinsa niin se onkin hyvin hidasta'... on totta windowsissa johtuen windowsin API 'teknologiasta'...


      • Anonyymi
        Anonyymi kirjoitti:

        Tämä ...'kun C-kielisiä palikoita käynnistellään ja kytketään toisiinsa niin se onkin hyvin hidasta'... on totta windowsissa johtuen windowsin API 'teknologiasta'...

        C-kieli on kieli jolla tehtiin unix, ja sen juuret on vahvasti siinä että tehdään pieni erikoistunut palikka ja noita sitten yhdistellään.

        Microsoft sitten aikoinaan satsasi paljon C :n kun halusivat samaan prosessiin laajoja sovelluksia (myivät sovelluksia ominaisuusmäärällä) ja tuohon aikaan uskottiin että C on hyvä graafisille sovelluksille.

        C kun ei ollut pelkästään olio-ominaisuudet vaan siinä nimiavaruus helpotti paljon sitä kun tehtiin yhdestä prosessista laaja.

        Tuo tietenkin johti sitten siihen, että säikeiden tarve meni kriittiseksi Windowsissa. Unixeissa palastellut ohjelmat jakautuivat prosessoriytimille tasaisesti, varsinkin kun samaa tietokonetta käytti useita käyttäjiä samanaikaisesti.


      • Anonyymi
        Anonyymi kirjoitti:

        "C-kielessä on yleisellä tasolla aika hyvä tasapaino noiden ääripäiden välillä"

        Ei ole. C-kielellä jos tekee jonkun yksinkertaisen palikan niin käynnistyy nopeasti ja toimii nopeasti mutta ongelma tulee siitä kun C-kielisiä palikoita käynnistellään ja kytketään toisiinsa niin se onkin hyvin hidasta. C-kieli on aika huono siinä että samassa prosessissa toimisivat kun on suunniteltu siihen, että käynnistää palikoita omiin prosesseihin.

        Esimerkiksi jos tekee verkkosivuston niin se Python on esimerkiksi helposti suorituskykyisempi kun ei aina sisältöä ladattaessa käynnistetä sitä ohjelmanpätkää uudestaan vaan toimii samassa prosessissa siinä HTTP palvelimessa.

        Kyllä se Python on yleisesti ottaen hidas kun on tulkkaava.


      • Anonyymi
        Anonyymi kirjoitti:

        Kyllä se Python on yleisesti ottaen hidas kun on tulkkaava.

        Ohjelmat kannattaa ajaa Pypy:llä. Usein 10...30 kertainen nopeutus. Muuttaa kaikki silmukat konekielisiksi.


      • Anonyymi
        Anonyymi kirjoitti:

        Kyllä se Python on yleisesti ottaen hidas kun on tulkkaava.

        Perus Python kääntää kyllä tavukoodiksi ensimmäisen käynnistyksen yhteydessä että tulkkaaminen on tehokkaampaa.

        Eikä välttämättä ole hidas jos sillä tavalla vaikkä vältetään käynnistämästä prosesseja uudestaan.


      • Anonyymi
        Anonyymi kirjoitti:

        Ohjelmat kannattaa ajaa Pypy:llä. Usein 10...30 kertainen nopeutus. Muuttaa kaikki silmukat konekielisiksi.

        Kaikki koodi muuttuu konekieliseksi joko kääntäjän tai tulkin avulla, koska muuten niitä ei pystyisi suorittamaan lainkaan.


      • Anonyymi
        Anonyymi kirjoitti:

        "C-kielessä on yleisellä tasolla aika hyvä tasapaino noiden ääripäiden välillä"

        Ei ole. C-kielellä jos tekee jonkun yksinkertaisen palikan niin käynnistyy nopeasti ja toimii nopeasti mutta ongelma tulee siitä kun C-kielisiä palikoita käynnistellään ja kytketään toisiinsa niin se onkin hyvin hidasta. C-kieli on aika huono siinä että samassa prosessissa toimisivat kun on suunniteltu siihen, että käynnistää palikoita omiin prosesseihin.

        Esimerkiksi jos tekee verkkosivuston niin se Python on esimerkiksi helposti suorituskykyisempi kun ei aina sisältöä ladattaessa käynnistetä sitä ohjelmanpätkää uudestaan vaan toimii samassa prosessissa siinä HTTP palvelimessa.

        Jossain - en muista missä - oli tehty muistaakseni tcl:llä web-serveri, joka sisälsi n. 200 riviä koodia, mutta mahdollisti säikeistyksen skripti-tasolla. Yllättäen huomattiin, että em. serveri pystyi suoritustasolla kutakuinkin samaan, kuin apache2. Hiukan hämmentävää? Ei oikeastaan. Koneessa oli riittävästi tehoja ja useampi core, joten kävi niin, että vaikka tcl käytti resursseja n. 10x enemmän kuin optimoitu apache, niin se silti selvisi tehtävästä, koska pullonkaulana oli nettiliittymän nopeus - tai paremminkin hitaus.
        Ero oli siinä, että tcl-serveriin oli käytetty resursseja muutama päivä koodausta kun apache2 on varmaankin jo reilusti yli 10 vuoden projekti? Tahtoo sanoa, että sopivia optimointeja löytyy aina c-kielelle, mutta jossakin kohtaa tulee raja vastaan, kannattaako niitä lähteä enää totetuttamaan..


    • Anonyymi

      Mutta jos puhuttaisiinkin directx-jutuista ja grafiikkakiihdyttimien jutuista suoraan, niin, todella: suoraan kysyt pc-väyläajurilta tietoja minkälaisia prosessoreja on väylällä tulee tietoja, onko 64-bittisiä ja mitä onkaan sitten, sanotaan että PCI-bus-request on ALL-buses, kaikki kovalevyt ja kaikki näkyvät listana, että mitä haluat sitten jonkin niiden kanssa tehdä?

    • Anonyymi

      Aluksi alkaen kun aloitettiin puhumaan väyläajureista, jotka tietävät minkälaisia prosessoreja laitteesi mahdollisesti sisältää, eli tästä lähteä sitten eikä pythonista kuin jotain visual basicia on python...

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

    Luetuimmat keskustelut

    1. Nainen, tervetuloa

      Tule luokseni eka vaikka viikoks tai pariksi. Saisin helliä, kannustaa ja tukea sua ja kokata lempi herkkujasi. Pääsisit
      Ikävä
      27
      3443
    2. Kela valvoo lasten tilejä.

      Tämä isoveli Kela kyttää jopa lasten yli 200,- euron rahat jotka on melko varmasti lahjaksi saatu. Se vaikuttaa perheen
      Yhteiskunta
      293
      3388
    3. TTK-tähti Saana Akiola paljasti tv-ohjelmassa tapahtuneen ahdistelun

      Olisko pitänyt suunnitella ulostulo paremmin? Nyt lehdet soittelevat kaikki 8 läpi ja kuusi sanoo ettei koskenut häntä.
      Maailman menoa
      26
      2190
    4. Olisit ollut varovaisempi

      Nyt jos minut hylkäät ja et meidän asiasta minulle mitään ilmoita niin ettet edes anteeksi pyydä, niin tiedä että minä e
      Ikävä
      35
      2014
    5. Mitä haluaisit sanoa hänelle

      Nyt tällä hetkellä?
      Ikävä
      133
      1982
    6. Elisa laskuttaa jo sähköpostilaskusta erikseen euron

      Paperilaskuista on otettu lisämaksua jo ajat sitten, mutta nyt Elisa ottaa euron siitä että lähettävät sähköisen laskun
      Maailman menoa
      119
      1731
    7. Vastenmielisyys

      Kuvaa sinua parhaiten
      Ikävä
      44
      1488
    8. Oho! Susanna Laine kohtasi epäonnea lomareissulla Italiassa - Avaa tilannetta: "Vähän sahaavaa..."

      Ou nou! Tsemppiä kuitenkin loppulomaan Italiassa, Susanna Laine ja mahdollinen seuralainen! Lue lisää ja katso kuvat:
      Suomalaiset julkkikset
      7
      1460
    9. Ensitreffit alttarilla Jyrki paljastaa hääyön intiimiasioista kameroiden sammuttua: "Fyysinen..."

      Ooo-la-laa… Ensitreffit alttarilla -sarjassa alkaa hääparien välillä ns. tunteet kuumenemaan. Lue lisää: https://www.s
      Ensitreffit alttarilla
      2
      1313
    10. Väliämme on noin 6 km

      Niin lähellä ja niin kaukana. Sinä olet kotona, minä olen kotona. Olet jo unessa. Mutta kun herään, olet jo töissä ja vä
      Ikävä
      9
      1213
    Aihe