javascript


26
Mar 10

JS Benchmarking

Ho colto l’occasione dell’arrivo del nuovo PC in ufficio per un poco di sano benchmarking dei vari browser disponibili sulla piazza.
In particolare sono andato a testare le performance del motore Javascript, componente direi fondamentale dei vari siti che navigo quotidianamente. Ho usato due tools online legati al test del codice Javascript, il SunSpider Benchmark e il Kane JSBenchmark.
Ho volutamente tralasciato il test sulla velocità di avvio dei browser, così come l’occupazione della RAM, perchè trovo più utile la velocità di esecuzione di una pagina piuttosto che il tempo necessario a far partire il programma.
Le piattaforme testate sono in realtà due: Windows XP SP3 sul PC dell’ufficio, in esecuzione su un processore Intel i3-530 a 2.4GHZ con 2GB di RAM, e Ubuntu 9.10 sul mio laptop, in esecuzione su un processore Intel T3200 a 2GHz con 3GB di RAM.
I browser testati sono: in XP, Chrome 4.1.249.1036, Firefox 3.6.2, Opera 10.51b3315, Internet Explorer 8.0.6001.18702; in Ubuntu, Chrome 5.0.307.11, Firefox 3.5.8, Opera 10.00beta4402, Epiphany 2.28.0 [con motore Webkit, e quindi assimilabile ad un Safari, ad esempio].

I test sono realizzati monitorando l’esecuzione di diversi algoritmi, e valutati o attribuendo un punteggio alle performance [Kane] oppure misurando i tempi di esecuzione [SunSpider].

Ecco i grafici riassuntivi.
Nota1: per il Kane, un valore alto indica prestazioni migliori, mentre per il SunSpider viceversa.
Nota2: cliccare sulle singole immagini per vederle ingrandite.

Kane JSBenchmark - Windows

Kane JSBenchmark - Windows


Kane JSBenchmark - Linux

Kane JSBenchmark - Linux


SunSpider Benchmark - Windows

SunSpider Benchmark - Windows


SunSpider Benchmark - Linux

SunSpider Benchmark - Linux

E’ chiaro che il confronto numerico Windows/Linux non è possibile, girando i due sistemi su due macchine differenti; il confronto può essere fatto in modo percentuale, al limite.

Qualche conclusione.
Opera: l’ultima versione è veramente veloce, sia rispetto agli altri browser, sia rispetto alla versione 10.00;
Explorer: incredibilmente lento, mi aspettavo un risultato migliore;
Firefox: si comporta mediamente bene;
Epiphany: da considerare, visti i risultati;

Io, a prescindere dai risultati, uso Chrome su entrambi i sistemi.

Alla prox

Technorati Tags: , ,


10
Feb 10

Hide by keyword

L‘hide by keyword su FriendFeed, sembra che ci siamo.
Mancava, e in parecchi ne soffrivano l’assenza.
Ho pensato che sarebbe stato un bel regalo al miei socialamici, e mi ci sono messo di buona lena.
Sono arrivato ad una versione abbastanza funzionante, almeno su Firefox, e quindi la rilascio al mondo. Chrome è il prossimo obiettivo.
Questa feature l’ho implementata tramite l’estensione Greasemonkey per Firefox, ed è di conseguenza richiesta per il funzionamento dello script; Chrome non richiede alcuna estensione, perchè dalle ultime (ultima?) versioni questi userscripts vengono gestiti automaticamente.

Come funziona? Installando lo script apparirà nella sidebar (indipendentemente dal tema) un box nel quale scrivere la parola (d’ora in poi KW) che ci irrita, con a fianco un comodo link chiamato Hide; cliccando sul link i post (non i commenti) contenenti la KW scompariranno dall’elenco, e la KW verrà aggiunta sotto il box, con a fianco un numero indicante quanti post sono stati nascosti e un link Unhide per tornare a mostrare i post bannati. Se la KW scritta non scompare dall’entry box in seguito al click su Hide, vuol dire che nessun post contiene la stessa. Ah, la ricerca è case insensitive.
Ogni KW che riporta almeno un match viene salvata immediatamente in un cookie (che ho chiamato ffhbk_kws), in modo che la lista delle KW possa essere recuperata in automatico in seguito ad un refresh della pagina.

Tutto qui.

Questo che segue è un piccolo elenco di browser compatibility:

Firefox3.5/Linux: funzionante
Chrome4/Linux: non funzionante
Chrome-dev/Linux: parzialmente funzionante
Konqueror/Linux: non testato
Opera/Linux:non testato
Galeon/Linux: non testato

Firefox3.5/WinXP: funzionante
Chrome4/WinXP: non funzionante
Opera/WinXP: non testato
Safari/WinXP: non funzionante (1)
IE/WinXP: non testato

Firefox3.5/Windows Vista: non testato
Chrome4/Windows Vista: non testato
Opera/Windows Vista: non testato
Safari/Windows Vista: non funzionante (1)
IE/Windows Vista: non testato

Firefox3.5/Windows Seven: funzionante
Chrome4/Windows Seven: non testato
Opera/Windows Seven: non testato
Safari/Windows Seven: non funzionante (1)
IE/Windows Seven: non testato

Chrome/OSX: funzionante
Firefox/OSX: non testato
Safari/OSX: non testato

(1) l’estensione GreaseKit, che permette di sfruttare gli userscripts in Safari, è disponibile solo per OSX.

Lo script, nella sua versione stabile, è disponibile su userscripts.org, mentre per la versione di sviluppo ho aperto uno spazio su GitHub.
Ora come ora le due versioni sono le medesime.
Ogni commento/suggerimento è il benvenuto (qui, su FF, sulla pagina di UserScripts.org), così come una eventuale partecipazione al progetto (l’accesso al git tree).

Per tenervi aggiornati, seguite l’hashtag #hidebykeyword su Friendfeed.

Alla prox

Technorati Tags: , ,


18
Sep 07

Python 2.5

Dopo aver mosso i primi passi con Maya e 3D Studio, mi e’ tornata la voglia di perdere un po’ di tempo con la grafica 3D.
Essendo il mio tempo libero gia’ ridotto agli sgoccioli, ho preferito lasciare da parte affannose ricerche su Astalavista e eterni download con Emule per utilizzare qualche strumento piu’ open/free, e la mia scelta non poteva che cascare su Blender. Comunque questo non e’ un post su Blender, magari ne faro’ uno se i miei esperimenti porteranno a qualcosa di buono, percio’ passo a Python.
Ho scaricato l’ultima release di Blender, la 2.44, l’installer per Windows (per ora ci smanetto al lavoro nella pausa pranzo, e qui ho Xp), poi l’ho installato ed eseguito; il programma apre una finestra a console, dove finiscono i vari messaggi di esecuzione, e leggendo le varie righe mi accorgo di due cose: 0) e’ stato compilato per usare Python2.5, 1) non trova un interprete Python esterno da usare.
La prima non mi stupisce, indica che Blender e’ bello aggiornato, mentre la seconda mi stupisce un po’, visto che Python ce l’ho bello installato… poi ci penso un attimo e mi rendo conto che 2.5 != 2.4, quindi tutto ok. Il programma parte comunque, visto che ha il motore Python interno, ma potrei avere problemi con script che estendono il core, percio’ provvedo tosto tosto all’installazione della nuova versione.
Tutto procede liscio, alla fine mi ritrovo le due versioni installate, c:\Python2.4 e c:\python2.5, e Blender, ma va!, dice che ha trovato un Python engine. Bene, chiudo Blender e aspetto di trovare un buon tutorial per partire.
Visto che mi rimane un po’ di tempo prima delle 14, ne approfitto per vedere cosa e’ cambiato nel mio sistema, e quindi provo a lanciare un paio dei programmi che ho scritto… e qui’ la prima piacevole sorpresa: finalmente hanno sostituito quelle orrende icone con il serpentello sorridente con qualcosa di piu’ bello, wow! Io da parte mia avevo gia’ provveduto a cio’ con un po’ di lavoro grafico.

Qualche immagine per spiegarmi meglio.

Icone 2.4 (sorgente/binario)

Icona sorgente 2.4 Icona binario 2.4

Mie icone (sorgente/binario)

Mia icona sorgente Mia Icona binario

Icone 2.5 (sorgente/binario)

Icona sorgente 2.5 Icona binario 2.5

Direi che ora le icone sono guardabili, anche se le mie continuano a piacermi parecchio…
Comunque, venendo al sodo, ho provato ad eseguire alcuni miei script, quelli console-based hanno continuato a funzionare senza problemi, mentre quelli GUI-based (GTK e WX) hanno avuto bisogno della reinstallazione delle librerie per Python2.5
Per ora non ho ancora nessuna linea di codice che utilizzi le nuove features di Python, non appena effettuero’ qualche test anche su questo verrete prontamente aggiornati!

Python rulez!

Alla prox

Technorati Tags: , ,


24
Jul 07

Liste nascoste: IE okHidden lists: IE ok

After a little work, now IE6 can show correctly hidden lists: not its mistake, it has been enough to correct lists-related tags.
But now i’ve a question: what happens with other browsers? Have you Safari, Konqueror or Opera for some OSes? Can leave to me a comment as a test result?
Thanks!

Stay tuned


23
Jul 07

Liste nascoste: IE…Hidden lists: IE…

I had the bad idea to see my blog with Internet Explorer 6 and 7. Ok, usually i don’t like to say “IE sucks” or similar thing, but i’m in doubt: is it possible that every time i wrote HTML/Javascript code that are a little difficult than a table, i got a differences between Firefox and IE?
So i can start debugging…

Stay tuned