Ingres, un database open alla riscossa

Computer Associates tenta di infondere nuova vita al proprio database open source trasformando il reparto che lo sviluppa in una società autonoma finanziata, in buona parte, da una società di capital venture. Ingres risorgerà dalle ceneri?


Islandia (USA) – Per lo storico database Ingres , che lo scorso anno è stato rilasciato sul canale open source , potrebbe aprirsi una nuova opportunità di risorgere dalle ceneri. La società che ne detiene le proprietà intellettuali, Computer Associates , ha infatti stretto un accordo con un finanziatore per creare una società ad hoc che si occupi dello sviluppo e del marketing del proprio database.

La neonata Ingres Corporation ha come azionista di maggioranza la società di capital venture Garnett & Helfrich Capital e come azionista di minoranza CA, che si è anche riservata il diritto di eleggere un membro del consiglio di amministrazione. Come entità indipendente, Ingres porterà avanti lo sviluppo dell’omonimo database e focalizzerà il proprio business nel fornire servizi di supporto e personalizzazione. L’esempio seguito da Ingres è quello di molte realtà commerciali legate all’open source, tra cui MySQL e JBoss.

John A. Swainson, president e CEO di CA, ha spiegato che il database Ingres non faceva più parte del core business della propria azienda. Oggi CA è infatti focalizzata sulle soluzioni aziendali per la sicurezza e la gestione dei sistemi.

CA ha acquisito il database Ingres nel 1994, ossia quando il prodotto era ormai al tramonto: lo storico database, originariamente sviluppato negli anni ’70 dalla University of California di Berkeley, ha avuto il suo momento di gloria negli anni ’80, quando divenne un serio avversario dei database di Oracle e IBM. In seguito, non più in grado di tenere testa agli avversari, Ingres ha perso sempre più terreno fino a cadere nel dimenticatoio. Lo scorso anno CA ha tentato di spingere il proprio database pubblicandone il codice e rilasciandolo sotto la licenza open source Trusted Open Source License ( CA-TOSL ), approvata dall’ OSI : ad oggi, però, questa mossa ha mancato di risvegliare l’interesse della comunità open source, ormai fedele a prodotti com MySQL, PostgreSQL e Firebird.

CA ha assicurato che Ingres rimarrà un progetto open source, tuttavia la sua licenza cambierà. Al momento l’azienda non ha ancora deciso quale licenza adottare, ma ha detto che ne sceglierà una già esistente e benedetta dall’OSI: tra le candidate c’è anche la GPL.

CA si è anche detta intenzionata a collaborare in modo stretto con Ingres nelle attività di sviluppo e marketing del database open source.

La tua email sarà utilizzata per comunicarti se qualcuno risponde al tuo commento e non sarà pubblicato. Dichiari di avere preso visione e di accettare quanto previsto dalla informativa privacy

  • Anonimo scrive:
    Bellissimo blog aggregator per dotNETari
    Vi segnalo un bellissimo blog aggregator per tutti i professionisti (e gli hobbisti) di DotNET:http://blogs.ugidotnet.org/
  • Anonimo scrive:
    Paint.NET in Java non lo faranno mai
    NET e Java sono due mondi completamente differenti.Esempio: Paint.NET: un velocissimo clone di photoshop Open Source e completamente scritto in C#:http://www.eecs.wsu.edu/paint.net/Provate a farlo in Java...
    • Anonimo scrive:
      Re: Paint.NET in Java non lo faranno mai
      - Scritto da: Anonimo

      NET e Java sono due mondi completamente
      differenti.

      Esempio: Paint.NET: un velocissimo clone di
      photoshop [Paint.NET] It is meant to be a free replacement for the MS Paint software that comes with Windows.
      Open Source e completamente scritto in C#:The programming language used to create Paint.NET is C#, with a small amount of C++ for setup- and shell-integration related functionality
      http://www.eecs.wsu.edu/paint.net/

      Provate a farlo in Java...
      • Anonimo scrive:
        Re: Paint.NET in Java non lo faranno mai

        [Paint.NET] It is meant to be a free replacement
        for the MS Paint software that comes with
        Windows. Lo hai provato? E' identico a Photoshop. Ha perfino i layer.

        Open Source e completamente scritto in C#:

        The programming language used to create Paint.NET
        is C#, with a small amount of C++ for setup- and
        shell-integration related functionality Ma l'hai visto il sorgente? Usa il C++ solo in due righe per aggiungere al menu dell'esplorer di windows l'opzione "apri con Paint.NET". Non c'è un filo di C++ nel codice del programma effettivo.
        • Anonimo scrive:
          Re: Paint.NET in Java non lo faranno mai

          Lo hai provato? E' identico a Photoshop. Ha
          perfino i layer.Come no? Adobe sta già tremando...
        • Anonimo scrive:
          Re: Paint.NET in Java non lo faranno mai
          - Scritto da: Anonimo



          [Paint.NET] It is meant to be a free replacement

          for the MS Paint software that comes with

          Windows.

          Lo hai provato? E' identico a Photoshop. Ha
          perfino i layer.(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)(rotfl)v
  • Anonimo scrive:
    .NET è lento io vado di python
    .NET è troppo lento per le applicazioni grafiche utilizzogtk tutto su python +py2exe off course :D
  • Anonimo scrive:
    Visual Studio 2005: the day after
    e posso dire che java e tutta la trolleria open-source può andare anche a farsi benedire. Finalmente un tool completo, leggero e col framework 2 va che è un piacere.Java ha finito di vivere (anche se le randellate sul groppone le sta prendendo da macromedia col suo flash, decisamente più leggero e più performante)Sun in decisa crisi quindi. Che sia Google l'ennesimo cavallo di troia di McNealy e soci?
    • Anonimo scrive:
      Re: Visual Studio 2005: the day after

      Java ha finito di vivere (anche se le randellateAh-ah!!! Visual Studio è da tre versioni che cerca di far sfondare .NET e non ci riesce, e non ci riuscirà nemmeno con questa.
      suo flash, decisamente più leggero e più
      performante)Sì, per le paginette web. Renditi conto che c'è qualcosa di più complesso scritto in Java, ad esempio il software che gestisce il tuo conto in banca...
      Sun in decisa crisi quindi. Che sia GoogleJava Sun. Dietro Java ad esempio ci sono - e pesantemente - IBM e Oracle.
      • Anonimo scrive:
        Re: Visual Studio 2005: the day after
        in Italia forse, all'estero sta iniziando ad affermarsi (e non parlo di web con asp.net)va bè che qua facciamo solo gestionali da 2 soldi in aziende dove se il tool costa più di zero già andiamo sotto- Scritto da: Anonimo

        Java ha finito di vivere (anche se le randellate

        Ah-ah!!! Visual Studio è da tre versioni che
        cerca di far sfondare .NET e non ci riesce, e non
        ci riuscirà nemmeno con questa.


        suo flash, decisamente più leggero e più

        performante)

        Sì, per le paginette web. Renditi conto che c'è
        qualcosa di più complesso scritto in Java, ad
        esempio il software che gestisce il tuo conto in
        banca...


        Sun in decisa crisi quindi. Che sia Google

        Java Sun. Dietro Java ad esempio ci sono - e
        pesantemente - IBM e Oracle.
        • Anonimo scrive:
          Re: Visual Studio 2005: the day after
          Dove si sta affermando? Negli shop "all MS" dove non hanno alternative... ma di applicazioni pesanti .NET io non ne ho ancora viste. Anzi, un tool come InstallAware ha abbandonato la GUI in .NET perché era troppo lenta rispetto ad una nativa.
    • Anonimo scrive:
      Re: Visual Studio 2005: the day after
      - Scritto da: Anonimo
      e posso dire che java e tutta la trolleria
      open-source può andare anche a farsi benedire.
      Finalmente un tool completo, leggero e col
      framework 2 va che è un piacere.
      Java ha finito di vivere (anche se le randellate
      sul groppone le sta prendendo da macromedia col
      suo flash, decisamente più leggero e più
      performante)

      Sun in decisa crisi quindi. Che sia Google
      l'ennesimo cavallo di troia di McNealy e soci?Suppongo allora che la macchina virtuale Java sul mio cell. Motorola sia .NET mascherato... ;)
      • Anonimo scrive:
        Re: Visual Studio 2005: the day after

        Suppongo allora che la macchina virtuale Java sul
        mio cell. Motorola sia .NET mascherato... ;) Sui nuovi smartphones c'è dotNET. Java è sempre meno presente. Guarda qui:http://msmobiles.com/news.php/4516.html
      • Anonimo scrive:
        Re: Visual Studio 2005: the day after

        Suppongo allora che la macchina virtuale Java sul
        mio cell. Motorola sia .NET mascherato... ;)Ehehe ottima risposta. Anche sul mio, e sul mio palmare nonostante faccia girare pocket pc :)
  • Anonimo scrive:
    cosa mi avevo detto?
    mentre qui si fanno guerre di religione di .net VS Javaloro fanno accordi sottobanco...
    • Anonimo scrive:
      Re: cosa mi avevo detto?

      loro fanno accordi sottobanco...ma sottobanco dove.... che l'anno scorso c'era un press release lungo fior di pagine su tutti i maggiori quotidiani di IT.Co tutti i soldi che sono passati di mano tra le due societa, non credo certo che c'era nulla di sottobanco...Cmq per Sun inizia la rincorsa... poracci...
  • ldsandon scrive:
    Conoscere quello di cui si parla...
    1) I web services non sono una esclusiva .NET: sono uno standard, implementato ormai su qualsiasi piattaforma/linguaggio. Il loro valore è proprio quello di essere uno standard non proprietario.2) I web services sono neutri rispetto al linguaggio, visto che usano XML per codificare le informazioni.3) È ovvio che a Java conviene supportare lo standard nel modo più esteso possibile, e testare l'interoperabilità con i linguaggi/piattaforme più diffusi.4) AFAIK l'unica vera integrazione .NET/Java non basata su SOAP e non basata su un bridge è Janeva di Borland:http://www.borland.com/us/products/janeva/index.html
    • Anonimo scrive:
      Re: Conoscere quello di cui si parla...
      - Scritto da: ldsandon
      1) I web services non sono una esclusiva .NET:
      sono uno standard, implementato ormai su
      qualsiasi piattaforma/linguaggio. Il loro valore
      è proprio quello di essere uno standard non
      proprietario.I WebServices fanno cagare sono overbloateduna semplice richiesta REST in RSS assolve il 100%della cacataservice.nessuno vuole toccare il protocollo SOAP perchè fa schifo al cazzo RDF e RSS 2.0 copre la totalita dei servizi senza passare per cazzate tipo stub type checking e roba varia.java come .NET è costretta ad usare i WebService perchè il linguaggio (java in particolare ) fa schifoper la gestione dei dati quindi si è costretti a crearequei cazzo di descrittori xml dappertutto.python (uno a caso ) sorpassa java alla grande perchègestisce gli array come DIO comanda.
      • Anonimo scrive:
        Re: Conoscere quello di cui si parla...
        eh si erano proprio dei bei tempi quando ero alle superiori e scrivevo i programmi per ordinare gli arrays...
        • Anonimo scrive:
          Re: Conoscere quello di cui si parla...
          - Scritto da: Anonimo
          eh si erano proprio dei bei tempi quando ero alle
          superiori e scrivevo i programmi per ordinare
          gli arrays...Almeno all'epoca sapevi un pochino programmare... guarda adesso come sei ridotto!
          • xander2k scrive:
            Re: Conoscere quello di cui si parla...
            - Scritto da: Anonimo

            - Scritto da: Anonimo

            eh si erano proprio dei bei tempi quando ero
            alle

            superiori e scrivevo i programmi per ordinare

            gli arrays...

            Almeno all'epoca sapevi un pochino programmare...
            guarda adesso come sei ridotto!Minchia che ridere.
          • Anonimo scrive:
            Re: Conoscere quello di cui si parla...

            eh si erano proprio dei bei tempi quando ero alle
            superiori e scrivevo i programmi per ordinare
            gli arrays...
            Almeno all'epoca sapevi un pochino programmare...
            guarda adesso come sei ridotto!ma chi sei quello che ha la scrivania accanto alla mia????...visto che conosci così bene cosa faccio
      • Anonimo scrive:
        Re: Conoscere quello di cui si parla...

        I WebServices fanno cagare sono overbloatedHanno un grosso overhead. Vero. Non sono la panacea. Vero. Ma sono utili.
        nessuno vuole toccare il protocollo SOAP perchè
        fa schifo al cazzo RDF e RSS 2.0 copre la
        totalita dei servizi senza passare per cazzate
        tipo stub type checking e roba varia.Peccato che questa "cazzate e roba varia" in applicazioni un po' più "critiche" di un feed RSS sia vitale.
        quei cazzo di descrittori xml dappertutto.Che vai dicendo? i web services usano XML - anche in Python - semplicemente perché è un formato totalmente indipendente dalla piattaforma - hardware e software - prova a passare una array python da una macchina little endian ad una big endian....
  • Anonimo scrive:
    IBM e MS lo fanno già!
    IBM e MS lo fanno già da tempo. Apache lo fa.Dov'è la novità?
  • Anonimo scrive:
    Doppia tonnellata
    Java è pesante.Net è pesanteI programmi scritti già oggi con .net per fare un peto pretendono 2Ghz qualche GB di ram e poi chissà cos'altroin futuro cosa avremo ?Un blocco note scritto in J.Net del peso di 4GB ? :s
    • Anonimo scrive:
      Re: Doppia tonnellata
      - Scritto da: Anonimo
      Java è pesante
      .Net è pesante
      I programmi scritti già oggi con .net per fare un
      peto pretendono 2Ghz qualche GB di ram e poi
      chissà cos'altro
      in futuro cosa avremo ?
      Un blocco note scritto in J.Net del peso di 4GB ?
      :sLo fanno per i nostalgici : sara' per tornare al 486 con win '95 e 16M di ram. :'(
    • Anonimo scrive:
      Re: Doppia tonnellata
      ormai si parla senza capire niente, si sentono delle voci e si segue fedelmente quella che più piace. Peccato che con .net ci si possa fare grafica 3D con directX con prestazioni molto vicine a quelle del C++.Ma tanto probabilmente non saprai neanche questo- Scritto da: Anonimo
      Java è pesante
      .Net è pesante

      I programmi scritti già oggi con .net per fare un
      peto pretendono 2Ghz qualche GB di ram e poi
      chissà cos'altro

      in futuro cosa avremo ?

      Un blocco note scritto in J.Net del peso di 4GB ?
      :s
      • Anonimo scrive:
        Re: Doppia tonnellata

        Peccato che con .net ci si possa fare grafica 3D
        con directX con prestazioni molto vicine a quelle
        del C++.
        Ma tanto probabilmente non saprai neanche questommm...sei sicuro di quello che dici ? forse "vicine" sarebbe già troppo: di mezzo c'è sempre uno strato, non da poco, che "interpreta".Inoltre l'applicazione non è solo le chiamate alle api directx, altrimenti anche una applicazione vba potrebbe essere paragonabile.
        • Anonimo scrive:
          Re: Doppia tonnellata


          Peccato che con .net ci si possa fare grafica 3D

          con directX con prestazioni molto vicine a
          quelle

          del C++.

          Ma tanto probabilmente non saprai neanche questo

          mmm...
          sei sicuro di quello che dici ? forse "vicine"
          sarebbe già troppo: di mezzo c'è sempre uno
          strato, non da poco, che "interpreta".
          si, lo sono (nel senso che sono sicuro). La codebase di Quake2, ricompilata per "girare" sul CLR produce un frame rate rallentato "solo" del 15%, il che la dice lunga sulla capacità del CLR di fornire performance elevate *anche* eseguendo codice *non* progettato esplicitamente per .NETnon ci credi? Scarica il codice:http://www.vertigosoftware.com/Quake2.htmcompilalo sulla tua macchina e verifica.
          • Anonimo scrive:
            Re: Doppia tonnellata
            È ancora scritta in C++, benché "managed" (cioè il codice è C++ ma ogni tanto chiama .NET). Riscrivila in C# e poi vediamo...
          • Anonimo scrive:
            Re: Doppia tonnellata

            È ancora scritta in C++, benché "managed" (cioè
            il codice è C++ ma ogni tanto chiama .NET).
            Riscrivila in C# e poi vediamo...perdonami, ma questa è una stupidata fatta e finita. *tutto* il codice managed viene compilato in IL, quindi il linguaggio di partenza è *irrilevante*. Avresti le stesse performance implementando unalgoritmo analogo in: C#, VB.NET, Delphi.NET, COBOL.NET e *ogni* altro linguaggio per il quale esista un compilatore che emette IL. Il concetto è che alla base di tutto c'è un "contratto" tra CLR e framework basato sul Common Type System e sulla Common Language Specification: in pratica, i tipi (string, int, DateTime, float, ... fino ad arrivare a "roba" astratta come IPAddress o DataSet) che utilizzi in C++ sono gli stessi che utilizzeresti in ogni altro linguaggio, e la performance che ne risulta è quella permessa dal CLR. Quindi: o vai *veloce* in ogni linguaggio, o vai *lento* in ogni linguaggio (sempre ribadendo che i linguaggi di alto livello rappresentano solo una astrazione su IL).
          • Anonimo scrive:
            Re: Doppia tonnellata

            finita. *tutto* il codice managed viene compilatoSì, ma con C++ puoi mischiare codice managed e unmanaged, cosa che non puoi fare con i linguaggi totalmente managed come C#.
          • Anonimo scrive:
            Re: Doppia tonnellata
            E in più "managed C++" ha un ottimizzatore backend più sofiticato degli altri linguaggi .NET, oltre ad alcune feature in più.
          • Anonimo scrive:
            Re: Doppia tonnellata
            - Scritto da: Anonimo


            Peccato che con .net ci si possa fare grafica
            3D


            con directX con prestazioni molto vicine a

            quelle


            del C++.


            Ma tanto probabilmente non saprai neanche
            questo



            mmm...

            sei sicuro di quello che dici ? forse "vicine"

            sarebbe già troppo: di mezzo c'è sempre uno

            strato, non da poco, che "interpreta".


            si, lo sono (nel senso che sono sicuro). La
            codebase di Quake2, ricompilata per "girare" sul
            CLR produce un frame rate rallentato "solo" del
            15%, 15% di cosa? Mi sa che non hai letto le scrittine in piccolo: "Note, the assembly code was disabled for the native and managed versions so both versions are slower than the original Quake version."Patetico...
          • Anonimo scrive:
            Re: Doppia tonnellata (OT)
            scusa,non sono quello soprati assicuro ma come parli e scrivi mi è molto fastidioso.ma ti pare una risposta da dare?ti sembra corretto come ti poni?io non li capisco quelli come te. vi sentite piu realizzati a fare i grandi col prossimo?è un vero peccato perchè molte discussioni sono interessanti se non fosse per (tanti) come te che insultano giudicano e soprattutto son pieni di pregiudizi.
          • Anonimo scrive:
            Re: Doppia tonnellata (OT)

            scusa,non sono quello soprati assicuro ma come
            parli e scrivi mi è molto fastidioso.davvero? Mi spiace, non era mia intenzione. Certo però che, se provi a fare una discussione seria e qualcuno ti risponde "torna ai tuoi fumetti", la sensazione di fastidio e una risposta stizzita mi sembrano quantomeno comprensibili. Che ti devo dire? Non sono riuscito ad ignorare la sua risposta, tutto qui
          • Anonimo scrive:
            Re: Doppia tonnellata (OT)
            - Scritto da: Anonimo

            scusa,non sono quello soprati assicuro ma come

            parli e scrivi mi è molto fastidioso.
            davvero? Mi spiace, non era mia intenzione. Certo
            però che, se provi a fare una discussione seria e
            qualcuno ti risponde "torna ai tuoi fumetti", la
            sensazione di fastidio e una risposta stizzita mi
            sembrano quantomeno comprensibili. Che ti devo
            dire? Non sono riuscito ad ignorare la sua
            risposta, tutto quiguarda che rispondevo proprio a lui!;)
        • Anonimo scrive:
          Re: Doppia tonnellata

          sei sicuro di quello che dici ? forse "vicine"
          sarebbe già troppo: di mezzo c'è sempre uno
          strato, non da poco, che "interpreta".

          Inoltre l'applicazione non è solo le chiamate
          alle api directx, altrimenti anche una
          applicazione vba potrebbe essere paragonabile. Mentre per JAVA sono d'accordo, per C# è un altro paio di maniche. Il codice IL jittato che genera .net è velocissimo, tanto che viene usato perfino negli MMORPG più famosi. I sample di DirectX in C# hanno lo STESSO FRAME RATE di quelli in C++, e sono identici al pixel. E sono abbastanza complessi da non essere delle semplici chiamate alle api directx. Scaricati il DirectX SDK se non ci credi. Qui trovi tonnellate di demo e giochi in C#, tutti velocissimi: http://www.thezbuffer.com E' opinione di diversi esperti del settore che il C# fra 2-3 anni diventerà la piattaforma preferita nello sviluppo di videogiochi 3D (e già oggi i giochi xbox360 hanno parti scritte in C#).
          • Anonimo scrive:
            Re: Doppia tonnellata

            Mentre per JAVA sono d'accordo, per C# è un
            altro paio di maniche. Il codice IL jittato cheCi sono JIT anche Java. Il problema delle VM non è solo compilare il codice, altrimenti non sarebbero che late-compiler. Il problema è l'overhead di gestione che hanno, fra GC, reflection, controlli vari sui permessi, ecc. ecc. Bisogna poi vedere l'efficienza nel tradurre un bytecode studiato ad hoc per la VM nelle istruzioni native del processore. In questo .NET è avvantaggiato dal supportare solo due architetture hardware, al contrario di Java.
            I sample di DirectX in C# hanno lo STESSO FRAMEAppunto: i sample.
            E' opinione di diversi esperti del settore cheLasciamo perdere gli "esperti".
            oggi i giochi xbox360 hanno parti scritte in C#).Appunto. Per questo ha bisogno di tre processori per funzionare... :D
          • Anonimo scrive:
            Re: Doppia tonnellata

            Ci sono JIT anche Java. Il problema delle VM non
            è solo compilare il codice, altrimenti non
            sarebbero che late-compiler. Il problema è
            l'overhead di gestione che hanno, fra GC,
            reflection, controlli vari sui permessi, ecc.
            ecc. Bisogna poi vedere l'efficienza nel tradurre
            un bytecode studiato ad hoc per la VM nelle
            istruzioni native del processore. In questo .NET
            è avvantaggiato dal supportare solo due
            architetture hardware, al contrario di Java.Non sono d'accordo:------------- Codice C -------------------#include #include #include #include #include unsigned char buf[1024 * 1024];void compara (){long start, stop;double d= 0;int i, h;int f;int res;printf ("Faccio un po' di conti...n");start = time(NULL);for (i = 0; i < 100000000; i++)d = sin((double)i / 100000000.0) * 4.0 - cos((double)i / 100000000.0);stop = time(NULL);printf ("Tempo impiegato: %d secondin", (stop - start));}int main (void){compara();}------------------- Codice Java --------------import java.util.*;import java.io.*;public class Compara{public Compara (){long start, stop;double d= 0;System.out.println ("Faccio un po' di conti...");start = Calendar.getInstance().getTime().getTime();for (int i = 0; i < 100000000; i++)d = Math.sin((double)i / 100000000.0) * 4.0 - Math.cos((double)i / 100000000.0);stop = Calendar.getInstance().getTime().getTime();System.out.println ("Tempo impiegato: " + (stop - start) / 1000 + " secondi");}public static void main (String[] args){new Compara();}}-------------- Risultati ---------------Programma CFaccio un po' di conti...Tempo impiegato: 24 secondiProgramma JavaFaccio un po' di conti...Tempo impiegato: 23 secondiIl programma C e' stato compilato con gcc, mentre java con javac (jdk 1.4.*).Impiegano esattamente lo stesso tempo. Ovviamente non e' sempre cosi', ci sono differenze, ma non e' proprio come dici.Ciao
          • Anonimo scrive:
            Re: Doppia tonnellata
            javac ComparaFaccio un po' di conti...Tempo impiegato: 38 secondi./comparaFaccio un po' di conti...Tempo impiegato: 34 secondi./comparaFaccio un po' di conti...Tempo impiegato: 0 secondi..compilato con gcc e -O3
          • Anonimo scrive:
            Re: Doppia tonnellata
            - Scritto da: Anonimo
            javac Compara
            Faccio un po' di conti...
            Tempo impiegato: 38 secondi

            ./compara
            Faccio un po' di conti...
            Tempo impiegato: 34 secondi

            ./compara
            Faccio un po' di conti...
            Tempo impiegato: 0 secondi

            ..compilato con gcc e -O3Non farti ingannare. Fai gcc -s e vedrai che -O3 ha "zappato" via tutto il codice. E' un'opzione di ottimizzazione piuttosto "spinta": si e' accorto che il codice non produceva alcun effetto (infatti era solo per fare qualche conto), cosi' per ottimizzare ha tolto tutto.Per quanto riguarda la differenza sui primi due test, concorderai che con 2 (due) modifiche posso far ancora tornare i tempi a coincidere. Si tratta quindi 34 secondi contro 38 su di un ciclo di 100 milioni di istruzioni, quindi 340ns contro 380ns sul ciclo stretto. Ci siamo!Evidentemente l'interpretazione non ha proprio portato via niente. Direi che hanno fatto proprio un buon lavoro.Grazie per il test
          • Anonimo scrive:
            Re: Doppia tonnellata
            - Scritto da: Anonimo
            - Scritto da: Anonimo

            javac Compara

            Faccio un po' di conti...

            Tempo impiegato: 38 secondi



            ./compara

            Faccio un po' di conti...

            Tempo impiegato: 34 secondi



            ./compara

            Faccio un po' di conti...

            Tempo impiegato: 0 secondi



            ..compilato con gcc e -O3
            Non farti ingannare. Fai gcc -s e vedrai che -O3
            ha "zappato" via tutto il codice. E' un'opzione
            di ottimizzazione piuttosto "spinta": si e'
            accorto che il codice non produceva alcun effetto
            (infatti era solo per fare qualche conto), cosi'
            per ottimizzare ha tolto tutto.grazie per la dritta ;-) cmq anche O1 lo fa

            Per quanto riguarda la differenza sui primi due
            test, concorderai che con 2 (due) modifiche posso
            far ancora tornare i tempi a coincidere. ho risposto solo per far notare che se avessi usato un compilatore della intel (difficile visto che ho un iBook) avrei avuto ancora un altro risultato, io non so che ottimizzazioni applica javac, quindi i paragoni vanno presi con le pinze

            Si tratta quindi 34 secondi contro 38 su di un
            ciclo di 100 milioni di istruzioni, quindi 340ns
            contro 380ns sul ciclo stretto. Ci siamo!

            Evidentemente l'interpretazione non ha proprio
            portato via niente. Direi che hanno fatto proprio
            un buon lavoro.
            senza dubbio un ottimo lavoro, ma i vantaggi di java sono ben altri, resta il fatto che con un linguaggio di "basso" livello posso avere il controllo su molte cose, posso forzare delle variabili a restare nei registri del microprocessore, posso deallocare la memoria quando so che é cosa giusta,...chi dice che java é lento e pesante é uno stupido, java é un linguaggio indispensabile per certi aspetti, il c per altri, con uno ci faccio matlab che gira su mac linux windows, faccio dei web services, con il c faccio un driver o una libreria
            Grazie per il testsempre a disposizioneSalutiEx Cardinale Ratzinger
          • Anonimo scrive:
            Re: Doppia tonnellata

            grazie per la dritta ;-) cmq anche O1 lo fagrazie per un test inutile :D
            ho risposto solo per far notare che se avessi
            usato un compilatore della intel (difficile visto
            che ho un iBook) avrei avuto ancora un altro
            risultato, io non so che ottimizzazioni applica
            javac, quindi i paragoni vanno presi con le pinzeSoprattutto quelli fatti da chi non è capace!
            chi dice che java é lento e pesante é uno
            stupido, java é un linguaggio indispensabile per
            certi aspetti, il c per altri, con uno ci faccio
            matlab che gira su mac linux windows, faccio dei
            web services, con il c faccio un driver o una
            libreriaP.S. matlab è scritto in C grazie per l'ennesima conferma di quanto siete svegli voi javaioli
          • Anonimo scrive:
            Re: Doppia tonnellata
            - Scritto da: Anonimo

            grazie per la dritta ;-) cmq anche O1 lo fa

            grazie per un test inutile :DPostane un altro migliore. E spiegami perche' inutile e come scrivi tu il software

            ho risposto solo per far notare che se avessi

            usato un compilatore della intel (difficile
            visto

            che ho un iBook) avrei avuto ancora un altro

            risultato, io non so che ottimizzazioni applica

            javac, quindi i paragoni vanno presi con le
            pinze

            Soprattutto quelli fatti da chi non è capace!Come sopra. Abbiamo voglia di apprendere, illuminaci

            chi dice che java é lento e pesante é uno

            stupido, java é un linguaggio indispensabile per

            certi aspetti, il c per altri, con uno ci faccio

            matlab che gira su mac linux windows, faccio dei

            web services, con il c faccio un driver o una

            libreria

            P.S. matlab è scritto in C grazie per l'ennesima
            conferma di quanto siete svegli voi javaioliMi sembrava che il test fosse in C e Java e che chi l'ha postato ( e chi ha risposto subito dopo) fosse esperto di entrambi. Sarebbe meglio evitare interventi di questo tipo, preferiamo gente piu' propositiva.Aspettiamo il nuovo test
          • Anonimo scrive:
            Re: Doppia tonnellata

            Postane un altro migliore. E spiegami perche'
            inutile e come scrivi tu il softwareGOOGLE is your best friend, se non sai neppure usare un motore di ricerca vai a zappare!NON tentare di spacciarti per un esperto di informatica.

            P.S. matlab è scritto in C grazie per l'ennesima

            conferma di quanto siete svegli voi javaioli
            Mi sembrava che il test fosse in C e Java e che
            chi l'ha postato ( e chi ha risposto subito dopo)
            fosse esperto di entrambi.Espertissimissimi te lo garantisce mio cuGGino :D
          • Anonimo scrive:
            Re: Doppia tonnellata

            GOOGLE is your best friend, se non sai neppure
            usare un motore di ricerca vai a zappare!
            NON tentare di spacciarti per un esperto di
            informatica.Hai ragione, mi hai beccato!!! Per favore, potresti farlo tu per me?



            P.S. matlab è scritto in C grazie per
            l'ennesima


            conferma di quanto siete svegli voi javaioli

            Mi sembrava che il test fosse in C e Java e che

            chi l'ha postato ( e chi ha risposto subito
            dopo)

            fosse esperto di entrambi.

            Espertissimissimi te lo garantisce mio cuGGino :DPuoi dire a tuo cuGGino di fare quella cosa li'?
          • Anonimo scrive:
            Re: Doppia tonnellata
            - Scritto da: Anonimo

            grazie per la dritta ;-) cmq anche O1 lo fa

            grazie per un test inutile :Dsi passa il tempo come si può, per il resto sono contento per te visto che hai molto di meglio da fare...
            P.S. matlab è scritto in C grazie per l'ennesima
            conferma di quanto siete svegli voi javaioli
            ti ha già risposto l'altro, ha me piacciono il c, assembler, microcontrollori e così via, ma chi fa altre cose usa altre cose, e ci mancherebbe altro, mi piacerebbe sapere cosa fai tu di bello, e qual'é la verità assolutaper matlab non so, so solo che con un problema alla jvm non mi partiva, quindi ho dedotto così, se tu mi spieghi cosa se ne fa della jvm un programma scritto in c io imparo qlc di nuovo (non sono sarcastico ;-) )Tanti cari salutiEx Cardinale Ratzinger
          • Anonimo scrive:
            Re: Doppia tonnellata

            ti ha già risposto l'altro, ha me piacciono il c,
            assembler, L'italiano no ?
          • Anonimo scrive:
            Re: Doppia tonnellata
            - Scritto da: Anonimo

            ti ha già risposto l'altro, ha me piacciono il
            c,

            assembler,

            L'italiano no ?porca vacca! ai ragioneperò suvvia si sta dicutendo basandosi sul contenuto, mica la formae non ti saluto neanche visto il rimprovero
          • Anonimo scrive:
            Re: Doppia tonnellata
            [CUT]

            grazie per la dritta ;-) cmq anche O1 lo fa
            Grazie per la dritta ;) Questo invece non lo sapevo
            ho risposto solo per far notare che se avessi
            usato un compilatore della intel (difficile visto
            che ho un iBook) avrei avuto ancora un altro
            risultato, io non so che ottimizzazioni applica
            javac, quindi i paragoni vanno presi con le pinzeVerissimo!!Sbaglio o di informatica te ne intendi veramente?
            senza dubbio un ottimo lavoro, ma i vantaggi di
            java sono ben altri, resta il fatto che con un
            linguaggio di "basso" livello posso avere il
            controllo su molte cose, posso forzare delle
            variabili a restare nei registri del
            microprocessore, posso deallocare la memoria
            quando so che é cosa giusta,...Vero, ovviamente quando tutta questa cosa serve!
            sempre a disposizione

            Saluti

            Ex Cardinale RatzingerE' piacevole trovare gente preparata ed oltretutto educataalla prossima
          • Anonimo scrive:
            Re: Doppia tonnellata
            Questo è un ottimo esempio di come senza conoscere l'architettura di un sistema si possano scrivere test totalmente irrilevanti e fuorvianti.Un pezzo di codice così breve - un ciclo e qualche istruzione - probabilmente viene interpretato tutto in un colpo, e inviato al processore per l'elaborazione, e viene eseguito completamente dalla cache del processore stesso.Immagino che gli interpreti/jit delle VM abbiano già loro stessi una forma di cache, e sicuramente non elaborano istruzione per istruzione, attendendo che quella precedente sia completata, visto che il meccanismo di cache e di pipeline dei processori x86 richiede che ci siano istruzioni e dati disponibili, pena tremendi cali di prestazioni. Se la VM non è quella di GW-BASIC, immagino elabori "pezzi" di codice, li traduca in linguaggio macchina e li invii a blocchi al processore per l'esecuzione.È ovvio che in test come quello proposto le differenze siano minime. Per fare un test valido occorre scrivere molto più codice e con cognizione di causa, per far sì che emergano i vantaggi e gli svantaggi di entrambi gli approcci.
          • Anonimo scrive:
            Re: Doppia tonnellata

            Questo è un ottimo esempio di come senza
            conoscere l'architettura di un sistema si possano
            scrivere test totalmente irrilevanti e
            fuorvianti.Suggerimento: l'architettura del sistema era la stessa per entrambi i programmi.

            Un pezzo di codice così breve - un ciclo e
            qualche istruzione - probabilmente viene
            interpretato tutto in un colpo, e inviato al
            processore per l'elaborazione, e viene eseguito
            completamente dalla cache del processore stesso.?!?!?!?!?! Se anche fosse vero, cosa vorresti dimostrare?
            Immagino che gli interpreti/jit delle VM abbiano
            già loro stessi una forma di cache, e sicuramente
            non elaborano istruzione per istruzione,
            attendendo che quella precedente sia completata,
            visto che il meccanismo di cache e di pipeline
            dei processori x86 richiede che ci siano
            istruzioni e dati disponibili, pena tremendi cali
            di prestazioni. Se la VM non è quella di
            GW-BASIC, immagino elabori "pezzi" di codice, li
            traduca in linguaggio macchina e li invii a
            blocchi al processore per l'esecuzione.!?!?! Potresti spiegare con altre parole? Non capisco, sinceramente. E poi non ho detto che il processore sia x86

            È ovvio che in test come quello proposto le
            differenze siano minime. Ti scrivo un test ancora piu' piccolo con grandi differenze?
            Per fare un test valido
            occorre scrivere molto più codice e con
            cognizione di causa, Da quel che affermi HAI cognizione di causa. Ti prego di scriverlo, oppure di dirci come si fa.Imparare e' sempre bello.Cmq e' interessante sapere anche con quali metodi sviluppi codice, potremmo adeguarci.
            per far sì che emergano i
            vantaggi e gli svantaggi di entrambi gli
            approcci.
          • Anonimo scrive:
            Re: Doppia tonnellata

            Suggerimento: l'architettura del sistema era la
            stessa per entrambi i programmi.No. Uno gira direttamente sul processore, l'altro passa per la VM. Sia il processore che la VM hanno dei limiti architetturali che possono influire o meno sul risultato, a seconda che il codice li raggiunga o meno.
            Se anche fosse vero, cosa vorresti dimostrare?È vero. Dimostra che il test è mal posto, perché non evidenzia le differenze fra i due sistemi.
            !?!?! Potresti spiegare con altre parole? Non
            capisco, sinceramente. E poi non ho detto che il
            processore sia x86Non cambia molto. Le architetture dei processori (cache , pipeline, branch prediction, ecc.) alla fine non si discostano di molto.
            Ti scrivo un test ancora piu' piccolo con grandi
            differenze?Un test completo deve minimizzare gli effetti dovuti a cache, ecc. e verificare le performance effettive dei due approcci, e avvicinarsi il più possibile a situazioni d'uso "reali".
            Da quel che affermi HAI cognizione di causa. Ti
            prego di scriverlo, oppure di dirci come si fa.Se controlli, pubblicare test di questo tipo è contrario alle licenze di quasi tutti i compilatori, specialmente quelli commerciali. Quindi non posso pubblicare i test.Comunque se vuoi fare un test ottimale la sequenza di istruzioni deve essere sufficientemente lunga, usare un sufficiente numero di registri e con salti opportuni in modo da rendere ininfluenti le cache e verificare l'effettiva velocità del codice prodotto, non del processore.
          • Anonimo scrive:
            Re: Doppia tonnellata
            24 secondi senza ottimizzazioni...----------------#include #include #include #include void retvar(double d,int i){ if(!(i&0xfff)) printf("r%f",d); return ;}void compara (){long start, stop;double d = 0;int i, h;int f;int res;printf ("Faccio un po' di conti...n");start = time(NULL);for (i = 0; i < 100000000; i++){ d = sin((double)i / 100000000.0) * 4.0 - cos((double)i / 100000000.0); retvar(d,i);}stop = time(NULL);printf ("nTempo impiegato: %d secondin", (stop - start));}int main (void){compara();}----------------(GCC 3.4.2 mingw)$ gcc -O3 -march=pentiumpro -ffast-math x.c -ox.exe -sFaccio un po' di conti...2.8255746Tempo impiegato: 13 secondi(MSVC 7.1)C:t
            cl /Oax /Gf6 "X.C" %commonlib /link /opt:nowin98Faccio un po' di conti...2.8255746Tempo impiegato: 1 seconditutto questo su un P4 2.8ghz
          • Anonimo scrive:
            Re: Doppia tonnellata

            24 secondi senza ottimizzazioni...Ciao,grazie per il codice. Ad ogni modo, non ho capito una cosa: il codice postato inizialmente serviva per confrontare la stessa codifica in due linguaggi diversi, al fine di dimostrare che NON SEMPRE Java era inferiore in termini di prestazioni, al C. Ovviamente in tanti altri casi la differenza esiste ed e' innegabile. Ogni linguaggio ha i proprio pro e contro, no?Non capisco lo scopo di questo codice....Se lo scopo era, invece, quello di confrontare le prestazioni dei compilatori gcc e MSVC, occorrerebbe chiarire alcune cose. Spero che ci possa aiutare, essendo molto interessante (almeno per il sottoscritto)Le opzioni di ottimizzazione, per esempio. E' evidente che prestazioni cosi' diverse le ottieni se un compilatore ha eliminato i record di attivazione e l'altro no (quindi hai ben 100 milioni di record di attivazione in meno, e sai che sono piuttosto pesanti).Trattandosi entrambi di compilatori C++ sarebbe interessante verificare se onorano la primitiva inline.Se hai tempo (non ho a disposizione MSVC), potresti provare?E' cmq chiaro che non tutto il codice che hai scritto, nel caso di VC, e' andato in esecuzione poiche' significherebbe una potenza di calcolo molto superiore a quella di un semplice Pentium.Per verificare, su gcc potresti usare l'opzione -s, non mi ricordo purtroppo su MSVC.In questo modo si puo' avere il codice assembler e verificare cosa e' stato generato.Per non diventare matti (vabbe' che il codice e' poco), potresti mettere una chiamata ad una procedura fake() proprio prima del ciclo, in modo che nella spataffiata di codice inutile si possa fare la ricerca alla call di questa procedura.Altre ottimizzazioni che il compilatore avrebbe potuto fare... onorare le variabili registro.Altra curiosita': ha davvero stampato a schermo piu' di 25000 volte in un tempo cosi' breve?
          • Anonimo scrive:
            Re: Doppia tonnellata

            linguaggi diversi, al fine di dimostrare che NON
            SEMPRE Java era inferiore in termini di
            prestazioni, al C. Ovviamente in tanti altri casiah beh, se metti il freno a mano al C diventa lento come Clipper, non ci piove
            Non capisco lo scopo di questo codice....ho aggiunto nel loop l'utilizzo della variabile calcolata d, altrimenti gli ottimizzatori sia del GCC che MSVC non generavano del tutto il codice del loop (inutile calcolare un valore se poi non viene usato), rendendo inutile la prova.
            Trattandosi entrambi di compilatori C++ sarebbe
            interessante verificare se onorano la primitiva
            inline.certo, in msvc con /Oax tutto cio' che e' inline-abile lo diventa. ad esempio la stessa funzione retvar() e' generata inline_compara PROC NEAR; 15 : { 00030 55 push ebp 00031 8b ec mov ebp, esp 00033 83 e4 f8 and esp, -8 ; fffffff8H 00036 83 ec 08 sub esp, 8 00039 56 push esi 0003a 57 push edi; 16 : long start, stop;; 17 : double d = 0;; 18 : int i, h;; 19 : int f;; 20 : int res;; 21 : ; 22 : printf ("Faccio un po' di conti...n"); 0003b 68 00 00 00 00 push OFFSET FLAT:??_C@_0BL@HHALEMEI@Faccio?5un?5po?8?5di?5conti?4?4?4?6?$AA@ 00040 e8 00 00 00 00 call _printf; 23 : start = time(NULL); 00045 6a 00 push 0 00047 e8 00 00 00 00 call _time 0004c 83 c4 08 add esp, 8; 24 : for (i = 0; i < 100000000; i++) 0004f 33 f6 xor esi, esi 00051 8b f8 mov edi, eax 00053 89 74 24 0c mov DWORD PTR _i$[esp+16], esi$L1557:; 25 : {; 26 : d = sin((double)i / 100000000.0) * 4.0 - cos((double)i / 100000000.0);; 27 : retvar(d,i); 00057 f7 c6 ff 0f 00 00 test esi, 4095 ; 00000fffH 0005d 75 2d jne SHORT $L1558 0005f db 44 24 0c fild DWORD PTR _i$[esp+16] 00063 83 ec 08 sub esp, 8 00066 dc 0d 00 00 00 00 fmul QWORD PTR __real@3e45798ee2308c3a 0006c d9 c0 fld ST(0) 0006e d9 fe fsin 00070 dc 0d 00 00 00 00 fmul QWORD PTR __real@4010000000000000 00076 d9 c9 fxch ST(1) 00078 d9 ff fcos 0007a de e9 fsubp ST(1), ST(0) 0007c dd 1c 24 fstp QWORD PTR [esp] 0007f 68 00 00 00 00 push OFFSET FLAT:??_C@_03CBPALABE@?$AN?$CFf?$AA@ 00084 e8 00 00 00 00 call _printf 00089 83 c4 0c add esp, 12 ; 0000000cH$L1558: 0008c 46 inc esi 0008d 81 fe 00 e1 f5 05 cmp esi, 100000000 ; 05f5e100H 00093 89 74 24 0c mov DWORD PTR _i$[esp+16], esi 00097 7c be jl SHORT $L1557; 28 : }; 29 : stop = time(NULL); 00099 6a 00 push 0 0009b e8 00 00 00 00 call _time; 30 : //printf ("nTempo impiegato: %d secondi, d= %fn", (stop - start),d);; 31 : printf ("nTempo impiegato: %d secondin", (stop - start)); 000a0 2b c7 sub eax, edi 000a2 50 push eax 000a3 68 00 00 00 00 push OFFSET FLAT:??_C@_0BO@NAMOKJNK@?6Tempo?5impiegato?3?5?$CFd?5secondi?6?$AA@ 000a8 e8 00 00 00 00 call _printf 000ad 83 c4 0c add esp, 12 ; 0000000cH; 32 : } 000b0 5f pop edi 000b1 5e pop esi 000b2 8b e5 mov esp, ebp 000b4 5d pop ebp 000b5 c3 ret 0_compara ENDP
            E' cmq chiaro che non tutto il codice che hai
            scritto, nel caso di VC, e' andato in esecuzionestai scherzando? certo che e' andato in esecuzione.Basta redirigere l'output su file di entrambi gli exe gcc e msvc per rendersene conto... 200+kb di file testo con tutti i valori stampati (solo uno ogni 4096 per non rallentare il tutto, la printf e l'output sono molto lenti, meglio limitarne l'uso in cicli cosi' lunghi)
            Altre ottimizzazioni che il compilatore avrebbe
            potuto fare... onorare le variabili registro.LOL!!!!!!!!!Mi sa che non hai ancora ben chiaro come funziona un compilatore C a 32 bit. Quando puo' usa sempre i registri, a prescindere dalla dichiarazione register delle variabili.
            Altra curiosita': ha davvero stampato a schermo
            piu' di 25000 volte in un tempo cosi' breve?se vuoi ti mando sorgente ed eseguibili :)poi fai x.exe
            x.txt con entrambi gli exe e dai un fc /b per confrontare gli output. L'exe gcc genera lo stesso txt dell'exe msvc ma quest'ultimo in 1/12 del tempo.Serve altro?-=[iAN CooG]=-
          • Anonimo scrive:
            Re: Doppia tonnellata
            - Scritto da: Anonimo


            linguaggi diversi, al fine di dimostrare che NON

            SEMPRE Java era inferiore in termini di

            prestazioni, al C. Ovviamente in tanti altri
            casi

            ah beh, se metti il freno a mano al C diventa
            lento come Clipper, non ci pioveNessun freno a mano. Dipende sempre da quello che si vuol fare. Cmq le ottimizzazioni, in questo codice, sono state affidate al compilatore...

            Non capisco lo scopo di questo codice....

            ho aggiunto nel loop l'utilizzo della variabile
            calcolata d, altrimenti gli ottimizzatori sia del
            GCC che MSVC non generavano del tutto il codice
            del loop (inutile calcolare un valore se poi non
            viene usato), rendendo inutile la prova.Quindi non c'entrava con la prova Java vs C. OK!
            certo, in msvc con /Oax tutto cio' che e'
            inline-abile lo diventa. ad esempio la stessa
            funzione retvar() e' generata inline[CUT]



            E' cmq chiaro che non tutto il codice che hai

            scritto, nel caso di VC, e' andato in esecuzione

            stai scherzando? certo che e' andato in
            esecuzione.Mi hai appena dimostrato il contrario. Nessun record di attivazione, dunque, e' stato creato. Esecuzioni differenti.Questo e' sufficiente a spiegare la differenza di prestazione fra i due compilatori (per quel che ho capito, il codice voleva evidenziare questo).A meno che non ritieni che gnu abbia inserito delle istruzioni inutili per rallentare.... :)
            Basta redirigere l'output su file di entrambi gli
            exe gcc e msvc per rendersene conto... 200+kb di
            file testo con tutti i valori stampati (solo uno
            ogni 4096 per non rallentare il tutto, la printf
            e l'output sono molto lenti, meglio limitarne
            l'uso in cicli cosi' lunghi)D'accordissimo. Purtroppo non so sui pc quanto costi un'operazione del genere.Ricordo pero' i vari "scandali" sollevati a proposito del fatto che gli sviluppatori MS avevano a disposizione un set di API ben diverso da quello degli altri programmatori. E' chiaro che se questo fosse vero, anche queste istruzioni potrebbero influire sulla diversita' di esecuzione.


            Altre ottimizzazioni che il compilatore avrebbe

            potuto fare... onorare le variabili registro.

            LOL!!!!!!!!!
            Mi sa che non hai ancora ben chiaro come funziona
            un compilatore C a 32 bit. Quando puo' usa sempre
            i registri, a prescindere dalla dichiarazione
            register delle variabili. Non mi risulta (per favore, lascia espressioni come LOL e tutto il resto agli hobbisti. So di parlare con un professionista e penso di esserlo anch'io). Molti compilatori, soprattutto su sistemi VME non eseguono questa operazione. Anche i primi compilatori per i Motorola (probabilmente anche x Macintosh).ANZI! Fino a qualche anno fa era vero esattamente il contrario: le variabili registro non venivano MAI onorate, nemmeno quando esse erano esplicitamente indicate come tali.


            Altra curiosita': ha davvero stampato a schermo

            piu' di 25000 volte in un tempo cosi' breve?

            se vuoi ti mando sorgente ed eseguibili :)
            poi fai
            x.exe
            x.txt
            con entrambi gli exe e dai un fc /b per
            confrontare gli output. L'exe gcc genera lo
            stesso txt dell'exe msvc ma quest'ultimo in 1/12
            del tempo.

            Serve altro?Si. La discussione ritengo sia interessante. Nel caso abbia una nuova risposta, potresti pubblicare qui il nome/posto di un nuovo thread.In piu', mi piacerebbe sapere il tuo parere riguardo a questa grossa differenza di prestazioni. Il mio te l'ho dato.
      • Anonimo scrive:
        Re: Doppia tonnellata
        Quindi tutte le console compresa la Xscatola visto che non hanno .net non possono fare 3D, bello corposo, di qualità e prestazionalmente ottimo...
        • Anonimo scrive:
          Re: Doppia tonnellata
          - Scritto da: Anonimo
          Quindi tutte le console compresa la Xscatola
          visto che non hanno .net non possono fare 3D,
          bello corposo, di qualità e prestazionalmente
          ottimo...Wè, ma sai leggere?
      • Anonimo scrive:
        Re: Doppia tonnellata
        Si parla di web services, altro che grafica. Lo scopo è quello
    • Anonimo scrive:
      Non è vero!
      Ma hai mai provato ad utilizzare veramente queste tecnologie?
      • ldsandon scrive:
        Re: Non è vero!
        C'è chi l'ha fatto, e non è il primo venuto:http://www.sysinternals.com/blog/2005_04_01_archive.htmlSpecialmente con le GUI, .NET è evidentemente più pesante e più lento, e non potrebbe essere altrimenti. Il GC vuole il suo prezzo, così come la VM, la reflection e tutti gli altri controlli che fa. Quel prezzo può essere accettabile o no, dipende.Che possa avere una efficienza pari a codice nativo eseguito completamente in hardware è qualcosa che si può scrivere nelle brochure, ma che è pia utopia.
        • Anonimo scrive:
          Re: Non è vero!

          Che possa avere una efficienza pari a codice
          nativo eseguito completamente in hardware è
          qualcosa che si può scrivere nelle brochure, ma
          che è pia utopia.Beh, dai. Certe volte riesci ad ottenere addirittura le stesse prestazioni.Dipende dal codice (e un pochino anche da chi lo scrive). Se poi i controlli in piu' ti servono anche nell'altra piattaforma, puoi vedere che su molte applicazioni le prestazioni davvero si equivalgono...
          • Anonimo scrive:
            Re: Non è vero!


            Che possa avere una efficienza pari a codice

            nativo eseguito completamente in hardware è

            qualcosa che si può scrivere nelle brochure, ma

            che è pia utopia.
            Beh, dai. Certe volte riesci ad ottenere
            addirittura le stesse prestazioni.Si di un 486! Peccato che se guardo l'adesivo sul frontale del pc dice pentium 4!!!!!
            Dipende dal codice (e un pochino anche da chi lo
            scrive). Se poi i controlli in piu' ti servono
            anche nell'altra piattaforma, puoi vedere che su
            molte applicazioni le prestazioni davvero si
            equivalgono...certo certo e le marmotte fanno la cioccolata
          • Anonimo scrive:
            Re: Non è vero!


            Beh, dai. Certe volte riesci ad ottenere

            addirittura le stesse prestazioni.

            Si di un 486! Peccato che se guardo l'adesivo sul
            frontale del pc dice pentium 4!!!!!
            Potrebbe dire quello che vuole, non e' rilevante.


            Dipende dal codice (e un pochino anche da chi lo

            scrive). Se poi i controlli in piu' ti servono

            anche nell'altra piattaforma, puoi vedere che su

            molte applicazioni le prestazioni davvero si

            equivalgono...

            certo certo e le marmotte fanno la cioccolataQuello che fanno le marmotte non e' interesse di questo forum. Parlo con cognizione di causa, spero che non sia lo stesso per te.
          • Anonimo scrive:
            Re: Non è vero!

            Beh, dai. Certe volte riesci ad ottenere
            addirittura le stesse prestazioni.
            Dipende dal codice (e un pochino anche da chi loDipende dal codice nel senso che se passi 10 secondi ad aspettare una query da un DB poca importa se la visualizzazione poi di mette 0.002 secondi o 0.2.È anche vero che per certi pezzi di codice il JIT ci mette una pezza e le prestazioni possono avvicinarsi, sempreché non siano richieste altre funzionalità più costose del CLR.Ma nell'insieme rimane una struttura molto più complessa e pesante.
            molte applicazioni le prestazioni davvero si
            equivalgono...Qualsiasi GUI .NET che abbia visto finora è più lenta e pesante dell'equivalente Win32. Per certi tipi applicazioni server la differenza può essere meno sensibile, dipende da cosa fanno.Rimane il problema della memoria: ad esempio installando Windows Update Service su una macchina dopo un po' d'uso ASP.NET sale a oltre 100MB di RAM allocata e non la molla nemmeno quando non c'è alcuna connessione attiva. L'unico modo è riavviare IIS - e il tutto per servire una manciata di pagine.
          • Anonimo scrive:
            Re: Non è vero!

            Qualsiasi GUI .NET che abbia visto finora è più
            lenta e pesante dell'equivalente Win32. Per certi
            tipi applicazioni server la differenza può essere
            meno sensibile, dipende da cosa fanno. Ma hai mai provato Paint.NET? E' un clone di photoshop, e a differenza di photoshop fa la preview tutti gli effetti grafici in tempo reale sull'immagine intera, invece che nel riquadrino di preview.Provalo (è open source) e prova a ripetere quello che hai detto:http://www.eecs.wsu.edu/paint.net/
          • Anonimo scrive:
            Re: Non è vero!

            sull'immagine intera, invece che nel riquadrinoLa fa anche Paint Shop Pro, ma non direi che è un "clone di Photoshop". Forse non ti rendi conto che cosa ci fa un grafico professionista con Photoshop, non lavora si immagini a 640x480 a 72 dpi...
    • Anonimo scrive:
      Re: Doppia tonnellata
      qui si parla di webservice dove la maggior parte del tempo dell'applicazione è nell'accesso al database, quindi è più importante il tipo di db,come è stato costruito il database, e il tipo select, che il linguaggio di programmazione... l'incidenze di usare C o C++ nativo, o C# su .net è bassissima...
      • ldsandon scrive:
        Re: Doppia tonnellata
        Un web service non è necessariamente un'applicazione DB, anche se molte poi lo sono. Un web service è solo un meccanismo di invocazione remota (con tutti gli ammenicoli accessori per autenticazione, protezione, descrizione, ecc. ecc. ecc.)Comunque con SOAP già l'overhead di HTTP e XML è sufficiente ad abbassare le prestazioni.
        • Anonimo scrive:
          Re: Doppia tonnellata
          certo lo sò che un webservice non è neccessariamente un collegamento ad un db, ma lo è nel 90, facciamo anche 99 % dei casi...
    • Anonimo scrive:
      Re: Doppia tonnellata
      - Scritto da: Anonimo
      Java è pesante
      .Net è pesante

      I programmi scritti già oggi con .net per fare un
      peto pretendono 2Ghz qualche GB di ram e poi
      chissà cos'altro

      in futuro cosa avremo ?

      Un blocco note scritto in J.Net del peso di 4GB ?
      :sA parte che in questo articolo di parla di applicazioni Enterprise, non certo dei programmini che ti installi in locale.Inoltre ci sono programmi Java GUI-based che vanno davvero veloci, pensa ad Azureus, grazie alla libreria SWT.
    • Anonimo scrive:
      Re: Doppia tonnellata
      Si vede che non hai mai ne visto girare e ne scritto un programma in C#.
      • Anonimo scrive:
        Re: Doppia tonnellata
        - Scritto da: Anonimo
        Si vede che non hai mai ne visto girare e ne
        scritto un programma in C#.
        E' vero, il tuo 3DTetris non l'ho mai visto ma credo che sia più veloce di quello che mio cuggino ha sviluppato in AnsiC.Qualsiasi linguaggio "interpretato" ha un costro, che poi con c# le cose vadano meglio non c'è dubbio, ma come lo definisco io, siamo sempre di fronte a una pappetta predigerita, che deve essere ri digerita. Tutto quì.Difatti, voglio proprio vedere i driver in codice gestito, così come sventolati da MS in VISTA, che prestazioni avranno...ciao
      • Anonimo scrive:
        Re: Doppia tonnellata
        No, effettivamente di roba in .NET dopo tre anni se ne vede ben poca... :D
        • Anonimo scrive:
          Re: Doppia tonnellata
          l'intera interfaccia driver di ATI non è nulla?java non è che sia meglio in proporzione al tempo che ha- Scritto da: Anonimo
          No, effettivamente di roba in .NET dopo tre anni
          se ne vede ben poca... :D
          • Anonimo scrive:
            Re: Doppia tonnellata

            l'intera interfaccia driver di ATI non è nulla?No. È un programmino per configurare quattro impostazioni. E farlo in .NET è totalmente inutile.Difatti l'ho installata per la mia X800 e poi l'ho subito eliminata. 30MB e passa per fare quelle quattro cazzate? E per di più male e lentamente. Meglio usare direttamente i tab nella proprietà della scheda.Sarebbe meglio che ATI desse un'occhiata ai tool di configurazione di nVidia, magari...
    • Anonimo scrive:
      Re: Doppia tonnellata
      - Scritto da: Anonimo
      Java è pesante
      .Net è pesante

      I programmi scritti già oggi con .net per fare un
      peto pretendono 2Ghz qualche GB di ram e poi
      chissà cos'altro

      in futuro cosa avremo ?

      Un blocco note scritto in J.Net del peso di 4GB ?
      :sQuesti incompetenti ed ignoranti che "sviluppano" sw da interpretare sono braccia rubate alla terra. Tornate a zappare, e lasciate programmare chi se ne frega delle luccicanti gui e dei form colorati. Gli IDE servono a coloro che _non_sanno_programmare_, per gli altri basta un editor di testo (testuale) con highlight e il compilatore (testuale).
      • Anonimo scrive:
        Re: Doppia tonnellata
        Gli IDE servono a chi fa applicazioni un po' più complesse delle utility a riga comando, specialmente usando un linguaggio OO.Gli IDE risolvono parecchi problemi (navigazione e gestione del codice, integrazione con debugger, profiler, VCS, database, ecc.), e sono essenziali per lavorare più speditamente.Lavorare solo con VI e farsi del male nel complicarsi inutilmente la vita dicendosi "però quanto sono figo" mi sembra alquanto stupido. Poi per certi tipi di sviluppo VI può essere più pratico di un IDE. Per altri no.
        • Anonimo scrive:
          Re: Doppia tonnellata
          - Scritto da: Anonimo
          Gli IDE servono a chi fa applicazioni un
          po' più complesse delle utility a riga
          comando, specialmente usando un
          linguaggio OO.Gli ide servono a chi non si ricorda i nomi delle classi che scrive.
          Gli IDE risolvono parecchi problemi
          (navigazione e gestione del codice,
          integrazione con debugger, profiler,
          VCS, database, ecc.), e sono essenziali
          per lavorare più speditamente.
          Lavorare solo con VI e farsi del male nel
          complicarsi inutilmente la vita dicendosi
          "però quanto sono figo" mi sembra alquanto
          stupido. Poi per certi tipi di sviluppo VI può
          essere più pratico di un IDE. Per altri no.Io uso kedit :-D
          • Anonimo scrive:
            Re: Doppia tonnellata

            Gli ide servono a chi non si ricorda i nomi delle
            classi che scrive.Quando scrivi programmi complessi e usi diverse librerie ricordarsi tutte le classi e i metodi non è certo facile... Comunque un IDE è molto di più della code completion, come dicevo nel messaggio precedente. Specialmente adesso che integrano tool per UML, e molto altro.
        • Anonimo scrive:
          Re: Doppia tonnellata

          Vero. Peccano pero' in altri settori: molte
          operazioni le devi fare col mouse, cliccandoNo. Io uso tranquillamente tutto da tastiera. Ovvio che se devo "disegnare" una finestra o fare un diagramma UML faccio prima con il mouse che con la tastiera. Poi ci sono IDE fatti bene e IDE fatti male, ma questo vale anche per gli editor.
          menu, sottomenu, ... fino ad arrivareUn buon IDE è "sensibile al contesto" e ti presenta facilmente accessibile le operazioni necessarie al momento.
          deve per forza specializzarsi su un certo IDE,Beh, questo vale anche per gli editor. Passare fa vi a emacs o viceversa non è così facile...
          motivarti la mia scelta elencandoti i vantaggi da
          me riscontrati:L'ho detto: per certi tipi di sviluppo un editor leggero è essenziale, e un IDE troppo pesante, per altri vale il contrario. Se sto scrivendo un driver preferisco un editor leggero, se sto scrivendo un'applicazione DB complessa preferisco un IDE.
          vi non e' pensato per gli utenti, ma per un
          pubblico piu' evoluto, come quello che accedeva
          ai laboratori fino a pochi lustri fa.vi è pensato per chi usa vi.... comunque un IDE è molto più di un editor, non vuol dire Integrated Development Editor, vuol dire Integrated Development Environment, nel senso che hai accesso ai vari strumenti di sviluppo senza lasciare l'IDE. Per certi versi anche vi è più di un semplice editor.
      • Anonimo scrive:
        Re: Doppia tonnellata
        mi sembri quell'uomo che stava sulle monete da 50 lire...si si proprio quello che si dava le martellate nei c******i....però fa figo....ma lo sai? fa ancora più figo scrivere le applicazioni direttamente in codice binario....
      • Anonimo scrive:
        Re: Doppia tonnellata
        - Scritto da: Anonimo

        - Scritto da: Anonimo

        Java è pesante

        .Net è pesante



        I programmi scritti già oggi con .net per fare
        un

        peto pretendono 2Ghz qualche GB di ram e poi

        chissà cos'altro



        in futuro cosa avremo ?



        Un blocco note scritto in J.Net del peso di 4GB
        ?

        :s

        Questi incompetenti ed ignoranti che "sviluppano"
        sw da interpretare sono braccia rubate alla
        terra. Tornate a zappare, e lasciate programmare
        chi se ne frega delle luccicanti gui e dei form
        colorati. Gli IDE servono a coloro che
        _non_sanno_programmare_, per gli altri basta un
        editor di testo (testuale) con highlight e il
        compilatore (testuale).eh comodo usare l'editor di testo!!!Gli editor di testo servono servono a coloro che
        _non_sanno_programmare_.prot!
      • Anonimo scrive:
        Re: Doppia tonnellata

        Questi incompetenti ed ignoranti che "sviluppano"
        sw da interpretare sono braccia rubate alla
        terra. Tornate a zappare, e lasciate programmare
        chi se ne frega delle luccicanti gui e dei form
        colorati. Gli IDE servono a coloro che
        _non_sanno_programmare_, per gli altri basta un
        editor di testo (testuale) con highlight e il
        compilatore (testuale).Tutto il software e' interpretato. Guarda, qui accanto a me c'e' un posto libero, possiamo zappare insieme...
        • Anonimo scrive:
          Re: Doppia tonnellata

          Tutto il software e' interpretato. Guarda, quiDa quando? Ti sei dato troppe zappate sul capoccione...
          • Anonimo scrive:
            Re: Doppia tonnellata


            Tutto il software e' interpretato. Guarda, qui

            Da quando? Ti sei dato troppe zappate sul
            capoccione...Ripeto: tutto il software e' interpretato. Una volta che hai compilato un programma, cosa fai?
          • Anonimo scrive:
            Re: Doppia tonnellata

            Ripeto: tutto il software e' interpretato. Una
            volta che hai compilato un programma, cosa fai?Il codice viene passato direttamente al processore che lo esegue perché sono le sue istruzioni "native".Non c'è alcun software di mezzo che le "interpreta" ogni volta e le traduce in istruzioni del processore. Credo tu abbia bisogno di una ripassata delle differenza tra compilatore e interprete.
          • Anonimo scrive:
            Re: Doppia tonnellata


            Ripeto: tutto il software e' interpretato. Una

            volta che hai compilato un programma, cosa fai?

            Il codice viene passato direttamente al
            processore che lo esegue perché sono le sue
            istruzioni "native".

            Non c'è alcun software di mezzo che le
            "interpreta" ogni volta e le traduce in
            istruzioni del processore. Credo tu abbia bisogno
            di una ripassata delle differenza tra compilatore
            e interprete.Lascialo perdere è un "programmatore java" se non è interpretato che linguaggio è? :D
          • Anonimo scrive:
            Re: Doppia tonnellata

            Lascialo perdere è un "programmatore java" se non
            è interpretato che linguaggio è? :D Non rispondo mai agli insulti, cerchero' solo di aiutarti. Chi esegue i programmi? Come?
          • Anonimo scrive:
            Re: Doppia tonnellata

            Il codice viene passato direttamente al
            processore che lo esegue perché sono le sue
            istruzioni "native".Si, lo esegue, ma come? Dai, ancora un piccolo sforzo, e' alla tua portata!

            Non c'è alcun software di mezzo che le
            "interpreta" ogni volta e le traduce in
            istruzioni del processore. Fuoco fuoco!! Non allontanarti!!!
            Credo tu abbia bisogno
            di una ripassata delle differenza tra compilatore
            e interprete.No, non buttare via il lavoro fatto finora! Come esegue le istruzioni il processore????
          • Anonimo scrive:
            Re: Doppia tonnellata

            Si, lo esegue, ma come? Dai, ancora un piccolo
            sforzo, e' alla tua portata!A suon di segnali elettrici?
            No, non buttare via il lavoro fatto finora! Come
            esegue le istruzioni il processore????Non come un interprete. Un interprete è un *software* che ne esegue un altro. Codice eseguito direttamente dal processore non è considerato interpretato, perché a livello più basso di così non puoi andare.Scendi dallo specchio, il suono delle unghie comincia a dar fastidio...
          • Anonimo scrive:
            Re: Doppia tonnellata

            Scendi dallo specchio, il suono delle unghie
            comincia a dar fastidio...
            Lascialo perdere: java è il verbo e lui è il suo profeta
          • Anonimo scrive:
            Re: Doppia tonnellata

            Lascialo perdere: java è il verbo e lui è il suo
            profetaSbagliato! Cmq se hai cose piu' intelligenti da dire, possiamo parlarne....
          • Anonimo scrive:
            Re: Doppia tonnellata
            - Scritto da: Anonimo

            Si, lo esegue, ma come? Dai, ancora un piccolo

            sforzo, e' alla tua portata!

            A suon di segnali elettrici?SBAGLIATO!!! Ma come, uno che sputa giudizi come te non ha mai progettato, o almeno visto, un processore?


            No, non buttare via il lavoro fatto finora! Come

            esegue le istruzioni il processore????

            Non come un interprete. Un interprete è un
            *software* che ne esegue un altro. Codice
            eseguito direttamente dal processore non è
            considerato interpretato, perché a livello più
            basso di così non puoi andare.Rivedi la definizione. E poi, accettando per buona anche la tua, hai ancora del software da prendere in considerazione....

            Scendi dallo specchio, il suono delle unghie
            comincia a dar fastidio...Non stavamo zappando?
          • Anonimo scrive:
            Re: Doppia tonnellata


            A suon di segnali elettrici?
            SBAGLIATO!!! Ma come, uno che sputa giudizi come
            te non ha mai progettato, o almeno visto, un
            processore?Micro cefalo e micro codice sono due cose diverse, se ti riferisci al secondo esistono una marea di processori, oltre agli x86 che conosci tu (forse), che NON NE USANO!
          • Anonimo scrive:
            Re: Doppia tonnellata

            te non ha mai progettato, o almeno visto, un
            processore?Immagino che tu lavori alla Intel o alla AMD invece... comunque io so programmare in assembler x86, e tu?
            Rivedi la definizione. E poi, accettando perTemo che tu debba rivedere la tua, perché il resto del mondo è concorde con la mia.
    • Anonimo scrive:
      Re: Doppia tonnellata
      La cosa grave è che con .net cercano anche di fare i driver... :(
Chiudi i commenti