#gio#


lo zibaldone di pensieri
Home Blogs | Home | Login | Contact | My Profile | RSS | About | Cerca

Hard core, Quad Core

Così recita uno spot pubblicitario..Sarà vero? si, no, forse..Per molti anni la potenza di un pc era proporzionale all'hardware impiegato, ora non è più così perchè se il software non è ottimizzato le prestazioni sono abbastanza indecorose.Perchè succede questo?Semplicemente perchè è cambiato il modo di programmare, perchè una volta si faceva ricorso all'assembler ed al C/C++ che assicurava elevate prestazioni e comunque nella peggiore delle ipotesi una ottimizzazione delle risorse ora invece gr 
Leggi tutto il post...
giovedì, 12 lug 2007 Ore. 20.19

Scrivi un commento

Nome:
Blog:
E-Mail:
(l'indirizzo e-mail non verrà pubblicato, consente di essere avvertiti quando arrivano nuovi commenti a questo Post)
Codice:
Corpo:
Cookie:

Commenti

Autore: THE JOK3RInviato il: 14 lug 2007 - 21.06
Mi permetto di smentirti. Se "una volta si faceva ricorso all'assembler ed al C/C++" per i software era perchè .NET, Java e compagnia bella non esistevano! E poi perchè parli al passato? TANTISSIMI programmi sono tutt'ora in C++ ed Assembly (occhio non Assembler, http://it.wikipedia.org/wiki/Assembly), a partire da Office per arrivare ai videogiochi fino al banalissimo solitario. Capitolo .NET. Se uno sa programmare DECENTEMENTE in .NET (usando come si deve i thread, usando dei patterns ecc) oltre ad applicare il fantomatico paradigma "write once, run anywhere" (fantomatico per due motivi, uno perchè è stato coniato da Sun Microsystem, e perchè .NET è si multipiattaforma ma devi utilizzare delle convenzioni per renderlo tale, appunto perdendo in prestazioni) ha anche degli ottimi risultati. Prendiamo ad esempio il Setup and Deployment Tool di Office Communications Server 2007, è scritto in .NET, e la mole di dati che tratta (e ti garantisco è veramente tantissima...) la tratta con prestazioni sbalorditive.
"oggi occorre ottimizzare il codice se non si vuole che hardware e software procedano per strade separate con tutte le conseguenze del caso." Il proprio software va si ottimizzato, ma va fatto alla base, cioè nel cervello del developer...ti faccio un banale esempio. Se mi concentri tutto il lavoro in un thread è naturale che un processore dual core non sarà mai sfruttato. Se scrivi un software che necessita di essere eseguito sotto IA64 (non x64 NB.) è NATURALE che lo si deve ottimizzare, cosiccome lo è se devi eseguirlo su un ARM, un XSCALE o un x86...
Autore: #gio#Inviato il: 14 lug 2007 - 21.32
Ecco la correzione:
"Un assembler è un compilatore che traduce in linguaggio macchina binario un programma scritto in linguaggio assembly."
Il resto delle osservazioni sono corrette ma imho il C/C++ sarà sempre più performante rispetto a .net e java (java poi è ancora più lento).



Autore: Alberto TorrisiInviato il: 15 lug 2007 - 01.40
>Se uno sa programmare DECENTEMENTE in .NET (usando come si deve i thread,
>usando dei patterns ecc)

E' parzialmente vero. Tutti i nuovi linguaggi (Java, .NET) aggiungono un overhead a volte eccessivo anche programmando bene e seguendo tutte le guidelines che vuoi specialmente a livello di memoria oltre chè di performance. Un'applicazione .NET difficilmente sarà scalabile e performante al pari di una in C/C++. Poi chiaro, se vuoi fare un gestionale, uso anche io .NET, ma se devo sviluppare un videogame 3D o un qualche software real time, penso che userò sempre C/C++ e ASM. Le DirectX managed ci sono ma non le usa nessuno se non per ambiti ridottissimi.
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003