Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887

    Performance e livello di accesso

    Se progetto una classe con livello di accesso Friend e con metodi Shared, possono esserci differenze di performance rispetta ad una Public con Sub e Functions Public ?

    Io credo di no, e che anzi l'accesso ad un metodo condiviso sia anzi piu' veloce rispetto all'uso di metodi di istanza...

    Lo chiedo perche' sto ricercando la motivazione di alcuni rallentamenti (che secondo me sono dovuti al DB) e sto battendo varie piste...

  2. #2
    Utente di HTML.it L'avatar di tekanet
    Registrato dal
    Oct 2001
    Messaggi
    300
    Direi nessuna differenza prestazionale, solo di visibilità. Se hai un dubbio sul DB, batti quella pista che 99 su 100 il problema è lì.. se usi il FWK 2.0, mi pare ci siano oggetti stopwatch o qualcosa di simile per misurare con precisione i tempi, cerca un pò e usali insieme al tracing!

    HTH, tK

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    1.1, grazie per il suggerimento del Tracing...
    Il problema era il colloquio col DBServer e soprattutto l'uso del provider OleDb invece del piu' mirato SqlClient. Mi era venuto il dubbio perche' per standard aziendale si usano metodi di istanza ed io (controcorrente come sempre fino a quando non mi crocifiggono in sala mensa) ho scelto di usare metodi Shared

  4. #4
    Utente di HTML.it L'avatar di tekanet
    Registrato dal
    Oct 2001
    Messaggi
    300
    Se posso esprimere un giudizio, meglio le istanze, che permettono una programmazione più OOP. I metodi shared in genere vengono usati per comodità da chi proviene da linguaggi di programmazione più orientata alle funzioni.

    BTW, l'importante è aver trovato l'inghippo!

    Ciao, tK

  5. #5

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da djciko
    1.1, grazie per il suggerimento del Tracing...
    Il problema era il colloquio col DBServer e soprattutto l'uso del provider OleDb invece del piu' mirato SqlClient. Mi era venuto il dubbio perche' per standard aziendale si usano metodi di istanza ed io (controcorrente come sempre fino a quando non mi crocifiggono in sala mensa) ho scelto di usare metodi Shared
    ciao djciko! Guardando il framework ho notato che è infarcito di metodi statici, a cominciare dal capostipite, il signor System.Object, che contiene, oltre ai metodi di istanza, pure i metodi statici, Equals e ReferenceEquals.
    Per non parlare poi delle altre classi, stringhe, array etc. etc.
    Ma non sarà che, se sono usati nel modo corretto, tu sei nel giusto ed i tuoi colleghi siano nello sbagliato? :master:
    Pietro

  7. #7
    Utente di HTML.it L'avatar di tekanet
    Registrato dal
    Oct 2001
    Messaggi
    300
    BTW = By The Way, comunque

    I metodi statici esistono e hanno un'utilità, così come quelli di istanza. Vanno usati nel posto giusto, tutto qui. Il fatto è che, se uno vuole, può sviluppare completamente con classi con soli metodi shared, dico solo di non infilarsi in questa strada..

    tK

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da pietro09
    ciao djciko! Guardando il framework ho notato che è infarcito di metodi statici, a cominciare dal capostipite, il signor System.Object, che contiene, oltre ai metodi di istanza, pure i metodi statici, Equals e ReferenceEquals.
    Per non parlare poi delle altre classi, stringhe, array etc. etc.
    Ma non sarà che, se sono usati nel modo corretto, tu sei nel giusto ed i tuoi colleghi siano nello sbagliato? :master:

    Allora: siccome abbiamo 3 macchine su cui sviluppiamo e deployamo (sviluppo, collaudo, produzione), e siccome inoltre nessuna delle tre ha caratteristiche hardware tali da consentire una performance ottimale, ho pensato, per alcune classi 'critiche' (usate a palla nell'applicazione)
    di NON costringere chi le usa ad istanziare oggetti. Motivo : la memoria di tutte e tre le macchine e' poca, e credo che cosi' se ne risparmi. Mi sbaglio ?

    @Pietro09: si, il fmw ne fa un massiccio uso, e guarda caso proprio per le classi piu' usate...
    @tekanet: sono d'accordo, non deve diventare un monopolio...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.