PDI^2

Varnish: programmare nel terzo millennio

linux, software, C April 2, 2007 10:02 pm (Save post)

Mi è capitato l’altro giorno di inciampare su varnish , un acceleratore HTTP per freebsd e linux dal design innovativo, che presenta alcuni punti interessanti.

Anzitutto, fa un sacco di cose: gestione del caching, compressione, load balancing etc. Ma vabè, sono cose abbastanza standard.

Una cosa più carina è l’utilizzo di un linguaggio per la configurazione che viene effettivamente compilato e linkato con il programma, in modo da massimizzare le prestazioni, e da queste parti certe cose le apprezziamo.

Ma il vero motivo per cui il progetto si merita un link è per le Notes from the Architect, ovvero un testo che spiega quali siano le differenze di progettazione tra Varnish e altri software analoghi (in particolare l’autore usa Squid come esempio).

Il tipo, oltre ad essere l’autore della beerware license comunemente usata, è un programmatore di lunga data, si è scritto una sua malloc(), e ha trafficato a lungo nel kernel di freebsd, quindi assumiamo sia una persona vagamente competente.

Cosa si dice nelle note architetturali?
Il testo è interessante, perché sostiene che molti dei programmi attuali sono scritti in uno stile obsoleto che aveva senso 30 anni fa ma che ora fa più danni che bene
Ad esempio, i software non fanno affidamento sulle VM dei sistemi operativi moderni, e cercano di gestire da se la paginazione su disco della cache, creando un overhead notevole senza alcun guadagno, dato che i kernel sono perfettamente in grado di capire cosa swappare e cosa no (e le cpu supportano in hardware certe cose da una vita).
Inoltre, i sistemi SMP/SMT moderni e le ampie cache on die impongono uno stile di programmazione differente dai vecchi 386, che non viene sfruttato, e spesso neanche gestito, da certi software.

Insomma, dateci una letta. Certo, non c’è neanche un benchmark quindi potrebbe essere tutta fuffa, ma d’altronde, anche i benchmark sono fuffa, no? ;)

.NET open source?

C# April 1, 2007 12:02 pm (Save post)

Era già da tempo che microsoft faceva passetti versio l’open source, col fatto che la versione ROTOR del common language runtime di .net era sotto shared source.

Sembra che adesso ne abbia fatto un’altro, i dirigenti sostengono che la licenza sia open source anche se l’osi non si è pronunciato, a me sembra comunque restrittiva, ma vabè, vedremo.

Miti sul C

php, java, C, C# October 18, 2005 5:49 pm (Save post)

Demolizione sistematica di alcune credenze poplari sul linguaggio C (e derivati). Letturina simpatica :)

Get free blog up and running in minutes with Blogsome
Theme designed by Janis Joseph