Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-1) was last changed on 25-Aug-2023 15:15 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 added 63 lines
%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
!!! Documentazione velocizzazione calendario veloce\\
\\
La lettura del calendario __VELOCE__ (memorizzato in __CALGIO0F__) risulta alquanto lenta, in quanto le schiere di 999 elementi vengono, ogni volta, passate al chiamante, poiché risiedono sia nel programma che le calcola (__B£DIR9__) sia in quello che le utilizza lanciando la __£LC8__.\\
\\
La /copy __£LC8__ dovrebbe essere oramai una funzione privata della __£G79__, ma vi sono parecchi programmi che la chiamano direttamente, precedenti alla realizzazione della __£G79__, per cui una ristrutturazione generale risulterebbe delicata, in quanto si sarebbe dovuto intervenire in tutti questi chiamanti.\\
\\
La struttura dei richiami è la seguente:\\
\\
La __£G79__ lancia __B£G79G__ che decide se chiamare la __£LC8__ in modalità veloce o normale in base alle date di calcolo.\\
A sua volta la __£LC8__ lancia, in base al metodo:\\
- __B£DIR9__ (veloce)\\
- __B£DIR8__ (normale)\\
\\
\\
\\
!!! Revisione TST\\
Come prima cosa abbiamo analizzato la routine __£LC8__. Ha la funzione __CAL__, valore assunto in quanto __B£DIR8__ e __B£DIR9__ non la testano. Anche il metodo __MEM__ non è testato in questi programmi.\\
Inoltre in __TSTLC8__ c'è la funzione __VIS__, che in realtà è una funzione interna del TST che mostra il risultato del calcolo con un £G08.\\
È stata qundi fatta pulizia in __TSTLC8__.\\
- È stata mantenuta la sola funzione __CAL__, perché molti programmi la riempiono, anche se inutilmente.\\
- È stato tolto il metodo __MEM__, dato che nessun programma lo riempie.\\
- È stato inserito un flag di I/O per presentare l'output, che ha lo stesso effetto della funzione __VIS__.\\
\\
NB: nella funzione __VELOCE__ viene ritornato tutto il calendario (da oggi - 6 mesi a oggi + 18 mesi) indipendentemente dagli estremi richiesti, e quindi nella visualizzazione lo si vede tutto.\\
\\
\\
\\
!!! Descrizione implemento\\
È stata poi realizzata la velocizzazione del calendario veloce, facendo risiedere le schiere nel programma che le utilizza e non in quello che le costruisce, evitando il passaggio di dati.\\
Purtroppo, come già detto, non è stato possibile generalizzare questo comportamento, in quanto i dati memorizzati su __CALGIO0F__ differiscono nei due casi: quando sono locali e quando risiedono nel chiamante.\\
Abbiamo quindi ritenuto più opportuno una modifica locale, per permettere alla __£G79__ di usufruire della velocizzazione, lasciando la __£LC8__ allo stato attuale di velocità.\\
In tal modo si sono ottenuti notevoli benefici: Il miglioramento (alternando la risorsa su cui viene eseguito il calcolo, per evitare l'ottimizzazioine), è indipendente dal numero di chiamate, e si aggira attorno all'80%..\\
\\
In __CALGIO0F__ (file usato in pochissimi programmi) , dopo tipo e codice risorsa è stato aggiunto un flag (che completa la chiave) che vale:\\
__'V'__ - se memorizzazione da __B£DIR9__\\
__'T'__ - se memorizzazione dal __B£G79__\\
\\
Il __B£DIR9__ originale è stato modificato in modo che consideri il flag __'V'__.\\
È stato realizzato un nuovo programma, __B£DIR10__, sulla falsariga di __B£DIR9__, che considera il flag __'T'__ e assume che le schiere siano possedute da chi lo chiama.\\
\\
È stato aggiunto il metodo privato __TURBO__ a __£LC8__, con cui lancia il __B£DIR10__.\\
È stato modificato __B£G79G__ per far sì che sia lui il possessore delle schiere, oltre a essere l'unico programma che lancia la __£LC8__ con il metodo __TURBO__.\\
\\
In questo modo sono presenti due strade parallele:\\
- __£LC8 - > VELOCE -> B£DIR9__ (percorso vecchio, inalterato)\\
- __£G79 (B£G79G) -> TURBO - B£DIR10__ (percorso nuovo velocizzato)\\
\\
\\
\\
!!! Modifica a gestione manulale calendario memorizzato (B£DIR9A)\\
È stato inoltre modificato __B£DIR9A__ (attenzione: non è una replica di __B£DIR9__), la guida per aggiornare manualmente i dati di __CALGIO0F__.\\
Sono presentate le ultime date di aggiornamento del metodo __VELOCE__ (quello precedente) e di quello __TURBO__ (il nuovo), in quanto potrebbero essere state calcolate in giorni diversi, il base all'ultima data di esecuzione rispettivamente della __£LC8__ e della __£G79__.\\
Tuttavia, quando in questo programma si chiede il ricalcolo, vengono eseguiti entrambi i metodi.\\
Analogamente la cancellazione viene eseguita per entrambi i calendari.\\
\\
\\
\\
This page has only one version
«