|
|
|
|
Strumenti |
28-12-2007, 21:10 | #21 | |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Mah, secondo me Java effettivamente è più lento del C++ in molti casi...
Azureus mi impalla il pc ancora oggi, e prendeva il 60% del mio P4. Alcune demo fatte da me rallentavano paurosamente appena comparivano più di 10 forme o finestrelle... Poi certo l'operatore ++ funziona altrettanto veloce Sinceramente non so come fanno questi test a dare il Java veloce come il C++, quando nella "vita reale" questo è falso: i programmi Java sono sempre poco reattivi se non proprio inutilmente pesanti... Quote:
E a giudicare dalla tua firma non ti dovrebbe piacere proprio questo andazzo... guarda che Linux non lo hanno MAI sviluppato pensando in questa maniera. Per favore, non fare più sto ragionamento... mi pare un ragionamento da idraulico pagato a ore + che da programmer serio. "Facciamo le cagate, tanto paga l'user"... Ultima modifica di Tommo : 28-12-2007 alle 21:29. |
|
28-12-2007, 21:39 | #22 |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Il programmatore java va avanti di presupposti: tanto tutti hanno 1 giga di memoria, tanto costa poco 1 giga di ram, tanto tutti hanno la virtual machine, tanto se non ce l'hanno devono scaricare solo 20 mb, tanto tutti hanno l'adsl...
|
28-12-2007, 21:55 | #23 | |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7929
|
Quote:
Non è assolutamente vero che i programmi java sono poco reattivi. Comunque ricordate che si parla di programmi compilati con JIT......ne avete mai usato 1??? ma guarda che non è vero, in java esistono i thread(non solo in java)....se sai cosa sono capirai che la tua affermazione è insensata
__________________
My gaming placement |
|
28-12-2007, 22:00 | #24 | |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Quote:
Supponi di avere un codice di questo genere: Codice:
for (int i = 0; i < 100; i++) { // Fai qualcosa qui } Possiamo quindi attivare questa opzione e vedere il codice generato. Anche il compilatore Java ha questa opzione: la attiviamo e possiamo quindi fare una comparazione del codice generato. Siamo tutti d'accordo che Java genera per una macchina virtuale, la quale pero' non e' stata progettata "campata per aria" ma e' molto simile alle architetture esistenti (i.e. c'e' praticamente una traduzione "uno a uno"). Ti accorgerai che il codice e' simile, praticamente identico. In altre parole: dato quel codice, non puoi sapere il linguaggio di partenza. Con questi presupposti, per quale motivo Java deve essere piu' lento? Forse perche' ad un programmatore "Java only" non piace essere veloce e quindi e' bene inserire delle istruzioni inutili? Cosa effettivamente rende Java piu' lento, in questo caso? Sembrera' strano ma Java non e' nato per il web, bensi' per particolari applicazioni real time. Questo perche' la JVM e' facilmente implementabile su tutti i processori ed occupa poco. Il suo uso garantiva di portare gli algoritmi (generalmente di controllo) da un processore ad un altro, salvando un sacco di lavoro. Lavoro, nota, non tanto di codifica quanto di test. Nel caso che questo processore sia destinato ad un dispositivo di elettronica di consumo (si dice cosi...) un bug nel software ha un impatto economico notevole. Infatti i bug sono piu' frequentemente localizzati nella parte di interfaccia, realizzata con altri linguaggi (normalmente C o assembler).
__________________
In God we trust; all others bring data |
|
28-12-2007, 22:32 | #25 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12077
|
Quote:
sbaglio o hai citato solo applicazioni grafiche? cmq con l'update N, di prossima uscita, anche questo problema teoricamente dovrebbe essere risolto dato che le swing sotto windows useranno di default l'accelerazione direct x anzichè quella open gl finora utilizzata. E cmq.. tanto a reattività Eclipse e Netbeans non mi sembra proprio che abbiano niente da invidiare ad un'applicazione nativa, anche con la release attuale della JRE.
__________________
|
|
28-12-2007, 22:36 | #26 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12077
|
Quote:
e secondo te anzichè impiegare il tempo per fare un software FUNZIONANTE, bisognerebbe impiegarlo per guadagnare un 1% (scarso) di prestazioni che all'atto pratico sarebbe inutile perdendoci in leggibilità del codice e a umentando la possibilità di introdurre bug? Le ottimizzazioni vanno fatte solo ed esclusivamente se un accurato profiling del codice mostra effettivamente un problema prestazionale nell'esecuzione del codice. E, per inciso, dato che MOLTI sembrano dimenticarlo, solitamente il 90% delle perdite di performance si trovano nell'1% critico del codice. Per cui ottimizzare TUTTO il codice, oltre che essere una perdita di tempo che non porta a benefici prestazionali evidenti, è un metodo SICURO per introdurre bug e per perdere tempo che potrebbe essere meglio utilizzato per introdurre nuove features (che, a mio modesto parere, sono + utili dei bug )
__________________
|
|
28-12-2007, 22:45 | #27 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12077
|
Quote:
tu invece vai avanti per luoghi comuni 7.1 MB è la dimensione della nuova JRE per windows tanto per inciso. e, tanto per continuare, l'ENORME occupazione di memoria che secondo te dovrebbe avere, si traduce con 6.8 MB di RAM occupata per la VM alla partenza. complimenti per la disinformazione gratuita
__________________
|
|
28-12-2007, 22:49 | #28 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12077
|
Quote:
solo ora ho notato la tua sign.. Non mi venire a dire che tu programmi in PHP e critichi Java?!?!?
__________________
|
|
28-12-2007, 22:52 | #29 | ||
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
Un ipotetico Word2007 fatto in Java sarebbe più pesante di Crysis mi sa Quote:
E poi posso capire se fosse l'1%... ma in Vista a forza di .NET si è perso un 40% buono... era forse il caso di correggere qualcuno di quei quaranta 1% di perdita "insignificante"? Il problema fondamentale è che magari il java fosse solo l'1% più lento del C++... il 90% delle applicazioni di tutti i giorni (che guarda caso sono grafiche) stentano ancora parecchio. Mi sono ricordato ora di un programma java per fare schemi UML talmente poco reattivo e veloce che mi ha fatto passare a paint Ci sarà un motivo se java è ancora usato in ambiente desktop solo sperimentalmente no? |
||
28-12-2007, 23:06 | #30 | |||
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12077
|
Quote:
Quote:
secondo te il requirement qual'è? arrivare alla scadenza con un'applicazione completa per un decimo che però va il 10% più veloce o completare totalmente l'applicazione rispettando i requisiti di performance? Quote:
non sarà che *forse* il programma che hai provato era scritto con i piedi? Il linguaggio di programmazione aiuta a scrivere codice pulito e funzionante.. Ma se non si rispettano le guidelines e si fa overengineering a manetta ecco che risultati si hanno. L'overengineering, al pari dell'ottimizzazione NON NECESSARIA, è assolutamente DANNOSO per dei programmi scritti bene.
__________________
|
|||
29-12-2007, 00:12 | #31 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1816
|
Quote:
Per 71104: dovresti migliorare la qualita' della bitmap in sign. Io sono tarato, ma la prima volta ho letto "Against-TOPA"
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele Ultima modifica di marco.r : 29-12-2007 alle 00:19. |
|
29-12-2007, 00:25 | #32 | ||||||
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Quote:
Quote:
*mi succede sempre così anche nel dibattito Windows vs. Linux, nel quale naturalmente io mi schiero a favore di Windows: sono l'unico della terra a cui Windows non crasha mai, che non deve mai formattare, che non si è mai beccato un virus, ecc. ecc. che ci posso fare, sono fortunato Quote:
Quote:
Quote:
Quote:
Ultima modifica di 71104 : 29-12-2007 alle 00:35. |
||||||
29-12-2007, 00:27 | #33 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Quote:
ma non le ho realizzate io quelle immagini ^^ le ho prese da qua: http://www.againsttcpa.com/tcpa-banner.html |
|
29-12-2007, 01:20 | #34 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Ma sono un utente Windows, navigo in rete e tutto. In 12 anni di utilizzo di pc vari con diversi software, giochi, IDE per sviluppo, navigazione in rete ecc... il peggio che mi è capitato è stato qualche crash sotto Win ME. Con Win XP per esempio, mai avuto problemi fin'ora. Tutto bene anche con Windows 2000. Botta di culo coi fiocchi anche per me allora Quoto anche l'affermazione di sottovento circa il fatto che Java (OAK alle origini) era nato per sistemi real time e embedded, nelle nuove tecnologie (nuove per l'epoca, si parla del 1990-91) ad esempio gli elettrodomestici di nuova generazione. Se qualcuno ha la vaga idea di cosa significhi e quanto immmensamente importante sia l'affidabilità richiesta al software per elettrodomestici può immaginare lo spirito che doveva guidare coloro che hanno partorito Java. (si parla di sistemi real time) Per fare della critica costruttiva bisognerebbe sempre portare dei fatti che supportino le proprie affermazioni, non ha molto senso dire "secondo me" e basta. Altrimenti, appunto, sono affermazioni che riguardano "solo te" |
|
29-12-2007, 01:24 | #35 |
Senior Member
Iscritto dal: Dec 2002
Città: Milano
Messaggi: 5061
|
Allora secondo me la discussione è andata su un binario flamesco sbagliato...
Sul fatto che il Java introduca uno strato di astrazione ulteriore, e alcuni meccanismi come il garbage collector, più qualche API e middleware non al top dell'efficienza, penso che possiamo più o meno tutti concordare. Perciò questo riduce de facto l'efficienza rispetto ad un programma C++ che faccia la stessa identica cosa. Per questo avevo risposto di getto che "come prestazioni pure" è meglio il C++. Nel senso dell'efficacia invece concordo con tutti quelli che fino ad ora hanno così bene difeso la piattaforma Java. E' sicuramente tra le più efficaci e promettente per il futuro (insieme alle altre tecnologie similari). |
29-12-2007, 01:46 | #36 | |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Quote:
Tutto quello che e' stato introdotto (i meccanismi che hai elencato) ritengo NON vadano ad inficiare le performance. Per intenderci, il tuo ciclo "stretto", rimarra' tale anche in Java. Non c'e' motivo (apparente, a me conosciuto) che possa degradare le prestazioni. Troverai un degrado delle prestazioni in operazioni che generalmente sono fuori dal tuo ciclo stretto, vale a dire le allocazioni, ... Ma... non penso che qualcuno (a meno di applicazioni veramente particolari) se ne possa accorgere. In compenso, avrai un netto miglioramento delle prestazioni in altre parti, piu' importanti, del programma. Esempio: devi usare STL in C++? Che so, un container? Le STL sono estremamente ottimizzate, ma dovrai inserirci un oggetto che abbia un ciclo di vita compatibile con la sua memorizzazione nel container. In parole povere, dovrai gestire oggetti allocati dinamicamente, dovrai ricordarti di deallocarli, ... Oppure, come fanno tutti, andrai di copia. E le performances saranno a favore di Java. Le piattaforme managed stanno prendendo il sopravvento (detto da sottovento e' tutto un programma ). Non e' solo perche' e' piu' facile scrivere programmi robusti, ma ne hai anche un vantaggio in prestazioni nei "casi medi". Non e' difficile prevedere che in futuro sara' sempre meglio...
__________________
In God we trust; all others bring data |
|
29-12-2007, 09:10 | #37 |
Registered User
Iscritto dal: Aug 2006
Messaggi: 305
|
Beh... io devo aggiungere una cosa... Sul mio portatile aspire 1650, quando è in modalità risparmio energetico, netbeans è fastidiosamente lento(scopro ora che è programmato in java)... eclipse ora che ci penso è circa uguale.... Mentre quando il processore è in modalità massima prestazione, va tutto ok.
|
29-12-2007, 11:46 | #38 | ||
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
Sarà che sono fatti male, ma allora sarà una cattiva abitudine dei programmatori Java. Forse è anche che Java non è lento di per se, ma purtroppo se uno nella sua vita usa solo quello non si renderà conto di molti problemi prestazionali, che sono evidenti solo se si programma in C/C++. Non sono frasi fatte, io stesso uso Vista + Office2007, e li reputo ottimi, ma posso fare questo solo perchè ho un pc buono comprato da poco... sono lentissimi su pc vecchi, tanto che la gente torna a farsi mettere XP sui pc scassoni. Frasi sentite in coda in un negozio di informatica: "Sto pc è nuovo, ma parte lentissimo, non si accende nulla, ci mette anni a fare le cose... ma io non ci ho messo nulla!" "Beh ha Vista?" "Si" "E' normale." Quote:
Sinceramente non avrei mai sospettato che ti trovassi bene con win Poi quando esce il mio tutti passano a quello perchè LORO ci mettono un decimo del tempo a lavorarci |
||
29-12-2007, 14:06 | #39 | ||
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Quote:
per non parlare della mia esperienza con Windows ME... l'ho tenuto installato complessivamente solo per poche ore all'avvio voleva per forza farmi sorbire la sua scrausissima presentazione, che la prima volta si è anche bloccata miseramente (e quindi sono stato costretto a sorbirmela due volte). Windows 2000 è stata una svolta: non mi pareva vero che un sistema operativo potesse non bloccarsi mai eppure oh, quello mica si bloccava eh... e così piano piano iniziai ad apprendere le meraviglie di quello che era chiamato il kernel NT. fine OT Quote:
|
||
29-12-2007, 14:07 | #40 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Quote:
|
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:04.