Google Chrome: bug fix e migliori prestazioni

Google Chrome: bug fix e migliori prestazioni

Google ha reso disponibile una nuova versione beta del proprio browser web. Risolti alcuni problemi relativi alla sicurezza e migliorate le prestazioni di alcuni plug in

di pubblicata il , alle 09:49 nel canale Programmi
Google
 
46 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
!fazz31 Ottobre 2008, 15:31 #31
Originariamente inviato da: cavaliereombra
Mica ho detto il contrario. Comunque il multithreading non si basa sul multicore, in quanto tu potresti avere un processore singlecore e ugualmente avere più thread in esecuzione.

e io che ho detto nel post precedente?
Originariamente inviato da: !fazz]e i vari thread sono schedulati dal sistema operativo sui vari core presenti(uno o più in modo parallelo o quasi (time slice).[/quote]

Originariamente inviato da: cavaliereombra]
In realtà
http://paulbridger.net/node/17[/url]


scusa e io che ho detto, i tuoi quote dicono esattamente quello che ho detto io nei primi post
Originariamente inviato da: !fazz
ottimo intervento solo una precisazione, il motore di rendering non l'ha sviluppato goggle è
Multi-threading is a more "light weight" form of concurrency


Multi-processing has the opposite benefits. Since processes are insulated from each other by the OS, an error in one process cannot bring down another process. Contrast this with multi-threading, in which an error in one thread can bring down all the threads in the process.
Dane31 Ottobre 2008, 15:34 #32
Originariamente inviato da: vale56
mi spieghi perché dovrei installare un programma aggiuntivo per avere ciò che FF e Opera hanno?

Fino a che non integrerà via plugin o via urlfilter il blocco degli ad chrome è da scartare




bhè, ma non mi pare che adblock sia built-in. Tra installare uno o "pluggare" l'altro non mi pare ci sia tantissima differenza. A volte invece cambiare browser con un'altro più veloce e/o leggero fa differenza (non voglio dire che il browser X è meglio di quello Y)

Non voglio inoltre addentrarmi in differenza tra un proxy e il filtro specifico per un singolo browser, ma secondo me la prima soluzione è migliore in quanto può servire con la stessa "policy" una intera lan (caso che raramente si verifica a casa) e/o più browser installati sullo stesso pc (quindi una volta messo a punto non lo tocchi più, anche se aggiorni/cambi bandiera )
Pashark31 Ottobre 2008, 15:35 #33
Originariamente inviato da: !fazz
ovviamente , è una questione legale, essendo in beta non offrono garanzie agli utenti sul corretto funzionamento (aka se gmail perde una mail tu puoi fargli causa) una sottigliezza per evitare le cause facili tanto comune in america


Anche se non fossero beta non ci sarebbero garanzie, primo perché è un software, e quindi viene fornito così com'è, secondo perché non è a pagamento, quindi senza supporto diretto.
!fazz31 Ottobre 2008, 15:45 #34
Originariamente inviato da: cavaliereombra
Ti faccio notare che la discussione è nata perché sostenevi che questa non è "buona programmazione". Ti pare ancora che le architetture multitask siano "cattiva programmazione"? Fai te.


alt e chi ha detto che non è buona programmazione, ho detto che si esce dai "paradigmi di buona programmazione" è una cosa diversa, spesso si deve uscire dai paradigmi per ottenere i risultati. una cosa del genere a me che sono diciamo "amante dell'ottimizzazione sulle performance velocistiche di un'applicazione" fà storcere il naso ma ha dei vantaggi.

ps vorrei farti vedere un codice che ho ottimizzato anni fà era un'ottimizzazione di un parser xml in java nella lettura di grossi documenti xml (circa 400 Mb). per spingere il programma si è dovuto abbandonare qualsiasi paradigma di buona programmazione, nessun passaggio parametri, un uso sfrenato di variabili globali anche per dati temporanei , nessun uso di stringhe per ovviare ai limiti imposti da Java.

Il risultato è stato un codice 10 volte più veloce (da 45minuti a 38 secondi) rispetto ad un'implementazione sequenziale, un consumo di ram che era una frazione del consumo precedente, ma il codice risultate da leggere è un vero e proprio schifo
entanglement31 Ottobre 2008, 15:57 #35
Originariamente inviato da: QMatteoQ
Io lo trovo incredibilmente veloce: la differenza rispetto agli altri browser secondo me non sta nella velocità di caricamento delle pagine, ma nella velocità generale dell'applicazione.
La velocità di caricamento delle pagine è molto alta, però non ci sono differenze così marcate rispetto a Opera o Firefox: la velocità di caricamento dell'applicazione invece, almeno sul mio portatile, stacca di parecchio Firefox e Opera; dal momento in cui faccio doppio clic sull'icona al momento in cui l'applicazione è disponibile, passano circa 3-4 secondi, contro la decina abbondante di Firefox o Opera.

Le due lacune più grandi di Chrome che riscontro ora come ora sono:

- La gestione dei preferiti, praticamente inesistente
- La possibilità di specificare il comportamento da adottare in caso di download di file: Opera, Firefox o IE, quando si apre un file, chiedono sempre se si vuole aprire o scaricare il file. Chrome invece ti obbliga a salvarlo sempre e comunque: lo trovo un po' scomodo, ad esempio i file compressi sono abituato ad aprirli direttamente per poi scompattare direttamente il contenuto. Questo ora come ora non è possibile farlo.

strano. da me firefox ci mette 2-3 secondi al primo avvio, opera meno di un secondo.
chrome secondo me non sarebbe male, se non ci fosse di meglio.
dotlinux31 Ottobre 2008, 16:02 #36
Appena sarà completo e con tutte le funzionalità della concorrenza vediamo se sarà ancora veloce!
Comunque spero riesca a togliere di mezzo FF o almeno a far capire alla gente cosa usa per moda!
!fazz31 Ottobre 2008, 16:05 #37
Originariamente inviato da: cavaliereombra
Io faccio anche alt tutte le volte che vuoi, ma comunque non è che il multiprocessing sia al di fuori di questi fantomatici "paradigmi di buona programmazione".
L'ottimizzazione poi è un termine che a livello pratico significa tutto e nulla (quando sento qualcuno parlarne mi chiedo sempre a cosa si riferisca, dato che così non significa granché e si può farla a tanti stadi... e nulla implica che un'applicazione multiprocessing non si riveli persino più veloce del multithreading (soprattutto se poi per gestire quest'ultimo ci si rivolge alla mutua esclusione, come vedo fare spesso).

Poi se per "ottimizzare" di poco devo perdere in affidabilità e sicurezza, beh... da programmatore so bene cosa preferisco delle due.


Si può fare un lavoro anche lasciando il codice leggibile e ben strutturato, facilitando la manutenzione a seguire (non parlo necessariamente di documentazione... quanto di test automatici). Se il costo della "ottimizzazione" deve essere un codice illeggibile e non testabile, allora la strada tracciata da vantaggi solo sulla breve distanza, costando molto non appena si rende necessaria una modifica.

Si deve semper valutare ciò che si fa chiedendosi quanto la pezza da ultimo momento convenga porla (fermo restando che spesso purtroppo la si deve porre lo stesso).


era un progetto specifico un'applicazione ad hoc per uno studio di fattibilità, la documentazione c'era ma lo scoglio che ci eravamo trovati davanti era la creazioni degli oggetti (stringhe variabili ecc ecc ), il solo fatto di creare ( e distruggere via gc) oggetti provocava un overhead non accettabile(erano decine di milioni di oggetti) .
da li la necessità dell'uso di variabili globali e del multithreading utilizzato per limitare il collo di bottiglia dell'accesso al disco e il consumo di memoria che era allucinante se usavamo DOM arrivando a circa 6 gb quando i pc normali si attestavano tra i 512 Mb e 1 Gb
jappilas31 Ottobre 2008, 16:43 #38
30-40 tab non è una navigazione molto standard (ammesso e non concesso che serva tenere aperti tanti siti... )
esiste l' utente che nella magior parte dei casi utilizza il browser per interagire con un' unica pagina web ( magari in un' applicazione di remote banking, o ad esempio per un helpdesk, in cui l' operatore è posto di fronte a un' interfaccia web based, o...)
come esiste il sottoscritto che, visitando pagine aggiornate altrettanto regolarmente (ad esempio, i blog), o pagine dinamiche, ricercando articoli o pezzi di documentazione, con ogni link che punti ad un dominio diverso tipicamente aperto in una nuova tab o finestra, tende ad avere parecchie pagine aperte contemporaneamente (mediamente tra 70 e 100 su opera, tra 50 e 60 da quando uso Chrome - e non nascondo il senso di claustrofobia che mi provoca) - nè d' altra parte trova comodo e/o efficiente aggiungere ognuna ai bookmark per riprenderla o eliminarla successivamente cercandola in una sterile lista, dal momento che ogni pagina può avere un' utilità e un' interesse limitati nel tempo - quindi preferisce semplicemente lasciare una tab aperta tra una sessione e l' altra

credo quindi che la "navigazione standard" dal punto di vista dell' utente, non esista, o se esiste è una via di mezzo tra quelli che si potrebbero definire estremi , questo in genere - nel caso di Google Chrome, mi pare innegabile che questi non abbia (per scelta o per immaturità una gestione dei bookmark paragonabile a quella di altri browser, e ho l' impressione che sia tendenzialmente più vicino ad un modo d' uso incentrato sulle tab sessions piuttosto che non sui bookmark

sarei poi curioso di sapere quanto pesante diventerebbe Firefox dopo ore di un utilizzo simile).
con firefox lasciato girare per alcune ore una macchina con meno di un GB di memoria stramazza ( termine tecnico ) sotto 350 MB circa allocati in userspace e circa 400 in kernel space, il thrashing si fa alquanto fastidioso - nell' esperienza personale Opera regge un tantino meglio in condizioni analoghe ...
Pashark31 Ottobre 2008, 17:06 #39
Originariamente inviato da: jappilas
con firefox lasciato girare per alcune ore una macchina con meno di un GB di memoria stramazza ( termine tecnico ) sotto 350 MB circa allocati in userspace e circa 400 in kernel space, il thrashing si fa alquanto fastidioso - nell' esperienza personale Opera regge un tantino meglio in condizioni analoghe ...


Beh con la release 3 ho notato miglioramenti, comunque firefox dopo tre ore aperte consecutive comincia un po' a soffrire, sia con le stesse schede sempre aperte sia con un grande ricircolo di pagine.

Purtroppo la pulizia della memoria da windows 95 in poi non è mai stato il cavallo di battaglia di nessun software, a memoria mia.
jappilas31 Ottobre 2008, 17:11 #40
Originariamente inviato da: cavaliereombra
Stavo parlando di multitask. E' un'altra cosa.
come piccolo inciso, Chrome mostra di non avere un' architettura puramente multiprocesso - almeno, non di assegnare effettivamente un processo a ciascuna tab, a giudicare dal semplice fatto che con 45 tab aperte (di cui molte su youtube) il task manager interno le mostri raggruppate in 14 processi, più quello principale del browser vero e proprio e quello in cui è eseguito il plugin Flash ( processi a loro volta congruenti con quelli mostrati nel task manager di XP)
Originariamente inviato da: cavaliereombra
Ma sicuramente un'architettura multitask invece che multithread giova molto.
io la definirei più un' architettura ibrida che cionondimeno mostra un elevato impegno di memoria...
Non saprei però dire se è solo questo o se davvero il rendering poi sia più veloce di suo... ma tant'è.
per il rendering è da notare che è stata adottata una libreria grafica sviluppata ex novo e condivisa con la piattaforma Android, su cui è stata basata anche la versione di Webkit impiegata (divergente quindi dalla versione di webkit impiegata in safari)
Per la gestione dei processi, va bene se mi parli di decine di processi, ma cosa ti spaventa, l'apertura di 4 o 5 processi su una macchina multicore?
va considerata però una cosa: non tutti possiedono CPU multi core, nemmeno nel 2008
e d' altra parte, per un browser carente nella gestione dei bookmark è ragionevole pensare che un utente preferisca tenere a disposizione le pagine visitate lasciandole aperte tra una sessione e l' altra - in questo modo i processi rischiano di aumentare non di poco
Ma non sfrutti i multicore con applicazioni multithread, in quanto alla fine hai sempre e solo un task in esecuzione che come tale è monolitico (la parallelizzazione la gestisci tu, non il processore).
dipende dal threading model implementato nel sistema operativo e dalla threading library in uso da parte dell' applicazione - ma se la combinazione di queste consente di allocare thread diversi su CPU logiche (quindi core) differenti, sì li sfrutti anche con il mutithreading

quello che il multithreading non ti dà è l' immunità di un thread ad eventuali crash o blocchi avvenuti in un altro perchè il processo è unico, e l' immunità teorica al leaking dei dati (nel caso peggiore, dati riservati di autenticazione), perchè lo spazio di indirizzamento è unico per tutti i thread (anche se in realtà con il TLS le cose cambiano in parte)

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^