Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

Scritto da: -

ZeitgeistGli sviluppatori di Canonical e Collabora, i principali sponsor di Zeitgeist, hanno optato di recente per la sostituzione di Python con Vala. Una scelta che non ha fatto discutere soltanto su queste pagine. J. P. Lacerda, coinvolto nel progetto, ha pensato così di ripubblicare alcuni benchmark comparativi sulle prestazioni di Vala.

I risultati, effettivamente, mostrano un discreto boost prestazionale. Tuttavia, il confronto non può essere effettuato con Python: vala-benchmarks, lo strumento utilizzato, paragona il linguaggio a C, C++ e C# (Mono). Per quanto possa convincere, non ha molta attinenza con Zeitgeist. Il miglioramento più evidente è rispetto a Mono.

Lacerda non cita esplicitamente il passaggio a Vala di Zeitgeist, eppure è difficile che si tratti soltanto d’una coincidenza. La scelta di Vala asseconda l’inserimento di ulteriori componenti da GNOME3 in Ubuntu/Oneiric: l’aggiornamento di Zeitgeist, infatti, non sarà disponibile sui rilasci precedenti. Valuteremo i miglioramenti.

Via | J. P. Lacerda

Vota l'articolo:
3.43 su 5.00 basato su 7 voti.  
 
Aggiorna
  • nickname Commento numero 1 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by:

    Imbarazzante usare la versione 2.4 di mono per i test, quando l'ultima ufficiale è la 2.10.6, e quando già dal passaggio alla 2.8 ci sono stati notevoli incrementi prestazionali. i bench seri si fanno con la versione migliore disponibile, non con quella che porta farina al proprio sacco. PS: <a href='http://shootout.alioth.debian.org/' rel='nofollow'>http://shootout.alioth.debian.org/</a> Scritto il Date —

  • nickname Commento numero 2 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by: rustretto

    Vala è cmq più prestazionale, trattandosi di c puro. Scritto il Date —

  • nickname Commento numero 3 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by:

    @rustretto ovvio, ma è cmq un bench "falsato" in partenza. Scritto il Date —

  • nickname Commento numero 4 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by: ekerazha

    <blockquote> PS: <a href='http://shootout.alioth.debian.org/' rel='nofollow'>http://shootout.alioth.debian.org/</a> </blockquote> Ho guardato x64 quad-core, Python 3 imbarazzante… se le prende pure da PHP 5.3 in oltre la metà dei test… Scritto il Date —

  • nickname Commento numero 5 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by: g_g

    La versione usata di vala è la 0.7.6 e l'attuale invece è la 0.14.0 quindi anche in questo caso non è l'ultima disponibile, mentre per c/c++ non abbiamo dati. Resta da valutare anche il fatto che implementazioni in vari linguaggi non sono direttamente comparabili in quanto possono essere ottimizzate a vari livelli. Va comunque ricordato che si tratta di test ripubblicati, risalenti a inizio settembre. "Tuttavia, il confronto non può essere effettuato con Python" questo non è vero, il confronto non è stato effettuato, e il motivo è abbastanza chiaro, non si voleva fare confronti anche con Python che è abbondantemente più lento degli altri linguaggi. Ci sono svariati test che si occupano di fare questi confronti. Poi va considerato il fatto che al di la delle prestazioni pure il confronto non ha troppo senso perché parliamo di categorie di linguaggi differenti ( script VS. compilati [o semi compilati]). Scritto il Date —

  • nickname Commento numero 6 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by: romfladef

    Considerate che i risultati pubblicati dai creatori di <code>vala-benchmarks</code> sono piuttosto datati (da cui le versioni obsolete): il paragone mancante con Python non è un problema "tecnico", semplicemente non era previsto da chi ha concepito inizialmente lo strumento per il <em>testing</em>. Personalmente non do un grande affidamento ai <em>benchmark</em>, perché sono piuttosto lontani dall'utilizzo quotidiano. Nella circostanza, il dato più interessante penso che sia la necessità di "giustificarsi" per una traduzione del codice che ha poche scusanti. Scritto il Date —

  • nickname Commento numero 7 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by:

    @ekerazha si, python è piuttosto lento in ogni frangente. i suoi punti di forza sono altri, ovviamente, ma usarlo per task in cui le performance FANNO la differenza, non è una scelta brillante. Scritto il Date —

  • nickname Commento numero 8 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by: g_g

    @romfladef "Nella circostanza, il dato più interessante penso che sia la necessità di “giustificarsi” per una traduzione del codice che ha poche scusanti." Secondo me l'obiettivo è un altro, non giustificarsi, ma motivare una scelta, vala come linguaggio è parecchio più performante di python (ordini di grandezza), python è molto comodo per alcune cose ed è un buon linguaggio di scripting, ma per componenti "core" a mio avviso non è una scelta azzeccatissima. La questione era dunque tradurre un componente una volta verso un altro linguaggio e averlo più performante per sempre. La questione non è tanto se era una buona cosa fare questa traduzione ma verso cosa, le alternative potevano essere vari linguaggi semi-compilati o compilati, quindi molti si potevano chiedere: "già che fai la traduzione perché non la fai verso c/c++?", la scelta di vala viene motivata dal fatto che non ha differenze prestazionali evidenti rispetto a c/c++, non richiede componenti aggiuntive (mono, JVM) come i linguaggi semi-compilati. Poi sinceramente non capisco l'uso della parola "scusanti", mica hanno chiedendo soldi, impegno o sacrifici vari per fare la conversione. Scusami ma non riesco a capire bene il tuo atteggiamento, ho come l'impressione che le tue idee siano mutuate più dal "fanboy-ismo" che altro. Motiva, magari mi ricredo! Scritto il Date —

  • nickname Commento numero 9 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by:

    @romfladef: Ti do io qualcosa di più di una semplice "scusante", ti do una motivazione, e questo senza essere in contatto con i developer. Sappiamo benissimo che i maggiori usufruitori (probabilmente gli unici) di Zeitgeist sono Unity e Gnome Shell. Etrambi sono ambienti creati per uno su macchine non molto potenti (tablet). Senza fare un paragone prestazionale, già solo il fatto di non avere caricata in memoria la virtual machine di Python significa avere circa 8-10 MB liberi, che soprattutto su dispositivi handheld significa minori consumi. Se poi aggiungiamo il lato che non ho citato, le performance, ottieni anche una maggiore velocità di esecuzione (se il codice è scritto bene), che si traduce anch'essa in minori consumi, dato che la CPU lavora per meno tempo. Avrebbero potuto utilizzare direttamente il C dato che si va per il minor consumo, ma il gioco non sarebbe valsa la candela (la maggiore ottimizzazione non valeva i maggiori tempi di gestione del codice). A Unity manca ottimizzazione, ma quella che possiamo usare non è altro che una beta "promossa", dando tempo al tempo si arriverà anche a questo. Scritto il Date —

  • nickname Commento numero 10 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by:

    @romfladef: secondo me dovresti cambiare mestiere. Non è la prima volta che scrivi cazzate. Scritto il Date —

  • nickname Commento numero 11 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by: 0xdeadbeef

    Comparare vala con python è un po' come comparare le foche monache con le mele cotogne. Vogliono risultati più performanti su desktop e tablet, quindi se vanno su vala la mossa è azzeccata. Piuttosto avrebbero dovuto pensarci prima di iniziare, ma tant'è… Scritto il Date —

  • nickname Commento numero 12 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by:

    1) Canonical non ha fatto alcuna scelta di porting. Giustamente (per un demone), gli autori hanno deciso di riscriverlo in Vala, Ubuntu ha semplicemente deciso di usare da subito questa nuova versione, invece di aspettare la 12.10. 2) Io adoro Vala, quindi è inutile che mi metta a fare delle diatribe, ma per scrivere un demone, usare Python, è semplicemente una cosa che ha pochissimo senso (infatti anche u1 secondo me pagherà, alla lunga). 3) Fare bindings per librerie scritte in vala in ogni altro linguaggio diventa automatico, grazie a GIR. Cosa che invece non è così per il python. Scritto il Date —

  • nickname Commento numero 13 su Qualche benchmark su Vala, dopo la scelta di Canonical per Zeitgeist

    Posted by:

    Ah. 4) I benchmark avviati in tempi più recenti danno ancora maggior valore. Python non puà competere assolutamente. Altri benchmark: <a href='http://dev.3v1n0.net/gitweb/vala-benchmarks.git' rel='nofollow'>http://dev.3v1n0.net/gitweb/vala-benchmarks.git</a> Scritto il Date —