+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 7 su 7

monitorare i tempi di esecuzione di varie routine

  1. #1
    Salve a tutti,
    nella mia applicazione ci sono delle routine e sequenze di comandi molto lenti, (appare spesso la clessidra, anche se da programmazione non l'ho invocata).
    Oltretutto lo stesso software, in alcuni pc velocissimo, in altre compreso in notebook su cui sviluppo lentissimo.
    Un ciclo di lettura di 300 item di una collection pu arrivare a 20-30 sec (dovrebbe impiegarne 1/4 di sec).

    Vorrei capire dove sta il problema.
    Esiste un modo per poter monitorare e verificare i tempi di esecuzione di una routine (da quando entro a quando esco).
    Mi serve per capire dove il collo di bottiglia.

    Grazie
    Sebastiano Floridia

  2. #2
    Sgrubak non  in linea Scribacchino
    Quote Originariamente inviato da SebastianoFloridia Visualizza il messaggio
    Esiste un modo per poter monitorare e verificare i tempi di esecuzione di una routine (da quando entro a quando esco).
    Ciao Sebastiano,

    credo che la classe StopWatch faccia al caso tuo.

  3. #3
    In maniera pi "professionale" esistono plugin (integrati) per visual studio per monitorare anche le performance. Adesso non mi vengono i nomi ma puoi fare qualche ricerca.
    ℹ️ Leggi di pi su AntonioG ...

  4. #4
    Lo scopo capire quale sia il motivo:

    In alcune installazioni va a velocit della luce, in altre una semplice chiusura, tra un msgbox e l'altro possono passare 15 sec.
    Appara una bella clessidra.


    DialogResult dialogResult = MessageBox.Show("Sei Sicuro di Volere Uscire?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (dialogResult == DialogResult.Yes)
                {
    
                    DialogResult dialogResult2 = MessageBox.Show("Vuoi Salvare il progetto prima di uscire?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                    if (dialogResult2 == DialogResult.Yes)
                    {
                        ToolbarIDE.Salva();
                    }
                    GestioneXML.ScriviXMLchiusura();
                    int rrr = Application.OpenForms.Count;
    
                    //for (int i = 0; i < rrr; i++)
                    //{
                        //if (Application.OpenForms[i].Name == "FrmAvvio")
                        //{
                            Application.OpenForms[0].Close();
                        //} 
                            
                    //}
                    //Application.Exit();
                    // e.Cancel = false;
    
                }
                else if (dialogResult == DialogResult.No)
                {
                    e.Cancel = true;
    
                }
    
    Non ho capito proprio cosa possa essere.
    IL software sotto git sincronizzato.
    Su un fisso velocissimo, nel portatile ogni operazione lentissimi.
    Cosa potrebbe essere?
    Saluti
    Sebastiano Floridia
    Ultima modifica di AntonioG; 23-10-2018 08:10 

  5. #5
    Con tempi cos diversi io sospetterei dell'antivirus/antimalware o di un problema del pc. Controlla lo stato della cpu da task manager e vedi anche se ci sono processi che impegnano i dischi.

    P.S. il codice nel forum inseriscilo tra tag code
    ℹ️ Leggi di pi su AntonioG ...

  6. #6
    Ciao Ragazzi, studiando il codice, per esempio un tratto di codice che impiega, secondo me questo:

    for (int k = 0; k < Globale.CombinazionidC.Count; k++)
                {
                    ComboSourceCondizioni.Add("Z" + k, "COMB: " + Globale.CombinazionidC[k].Descrizione);
                }
    
                CombCdc.DataSource = new BindingSource(ComboSourceCondizioni, null);
                CombCdc.DisplayMember = "Value";
                CombCdc.ValueMember = "Key";
    

    E' una combo che carica max 50-60 item.

    per le ultime 3 righe impiega 3 sec

    CombCdc.DataSource = new BindingSource(ComboSourceCondizioni, null);
                CombCdc.DisplayMember = "Value";
                CombCdc.ValueMember = "Key";
    
    Che ne pensate?
    Saluti
    Sebastiano Floridia
    Ultima modifica di AntonioG; 30-10-2018 10:24  Motivo: I tag CODE!

  7. #7
    Sebastiano ... usa i tag CODE per il codice, non il grassetto ... Quest'ultima volta correggo io ...
    ℹ️ Leggi di pi su AntonioG ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 2
    Ultimo Post: 22-01-2017, 09:54
  2. script, modulo e routine per esecuzione schedulata
    Da mobile75 nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 29-08-2013, 12:35
  3. Prendere i tempi di esecuzione
    Da walrus82 nel forum C/C++
    Risposte: 1
    Ultimo Post: 30-05-2008, 02:58
  4. Controlla tempi di esecuzione
    Da malibu nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 19-01-2006, 18:34
  5. Risposte: 2
    Ultimo Post: 02-04-2005, 02:06