Technology Experience

Contenuti gestiti da Igor Damiani
posts - 949, comments - 2741, trackbacks - 15120

My Links

News

  • Questo blog si propone di raccogliere riflessioni, teoriche e pratiche, su tutto quello che riguarda il world-computing che mi sta attorno: programmazione in .NET, software attuale e futuro, notizie provenienti dal web, tecnologia in generale, open-source.

    L'idea è quella di lasciare una sorta di patrimonio personale, una raccolta di idee che un giorno potrebbe farmi sorridere, al pensiero di dov'ero e cosa stavo facendo.

    10/05/2005,
    Milano

Archives

Post Categories

Generale

Decide what data to cache (and where)

Pochi minuti fa ho scaricato la Guidance Explorer, hostata su CodePlex a questo indirizzo, un applicativo Windows Forms (tutte le applicazioni serie sono Windows Forms!) che permette di sfogliare in locale una serie infinita...ehm, corposa è meglio, di best practices, tip, guidance, consigli e norme da seguire quando si sviluppa, disegna, architetta qualcosa. Il tool è davvero carino, tra l'altro il fatto che il setup non è un vero e proprio setup, ma un semplice zip da dezippare dove vogliamo lo rende anche velocemente fruibile per noi developer.

Sfogliandolo, sono rimasto affascinato da quante cose sembrano tirate fuori in diretta da Code Complete 2. Forse è più giusto dire il contrario, però. Mi è cascato l'occhio su due articoli, intitolati Decide what data to cache e Decide Where to Cache Data, che danno il titolo a questo post. Capire quali dati possiamo mettere in cache potrebbe essere importante, perchè possiamo dare una bella spinta di performance alla nostra applicazione. Consumeremo sicuramente più memoria - di qualunque tipo essa sia - ma possiamo evitare di rigenerare dati applicativi che possono far perdere tempo all'utente che, si sa, non è mai contento abbastanza. Giustamente - osserva l'articolo - dobbiamo stabilire ogni quanto tempo refreshare la cache, e questo tempo può essere molto variabile a seconda dei casi. Altro tip: se dobbiamo cacheare qualcosa, salviamo i dati nel modo più performante possibile, ad esempio nello stesso formato con cui poi vengono utilizzati dall'applicazione stessa. L'altra questione è il dove persistere la cache. Il dove più utilizzato è chiaramente un database. Ma l'articolo va oltre: dovremmo cacheare i dati nello stesso layer dove i dati servono più frequentemente. Alcune cose mi fanno un po' storcere il naso, il Guidance dice così, ma io continuo a ragionarci su. Questo per dire che questa osservazione non è che mi abbia convinto più di tanto.

Concludo sollevando una questione per Happy Sign: non è il caso di sfruttare questi concetti, per esempio mettendo in cache il risultato della compilazione di una firma dinamica? Una cache che si perde ad ogni avvio, ma non importa. La compilazione è un'operazione piuttosto dispendiosa, e riuscire in qualche modo a salvarsi l'assembly generato non sarebbe affatto una cattiva idea.

Print | posted on martedì 28 novembre 2006 17:59 | Filed Under [ Sviluppo .NET ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET