Foros del Web » Programación para mayores de 30 ;) » .NET »

Obtener el tiempo para llenar un DataSet

Estas en el tema de Obtener el tiempo para llenar un DataSet en el foro de .NET en Foros del Web. Hola, trabajo con c# y quisiera una ayuda de como puedo obtener el tiempo que se toma llenar un dataset, es decir: voy a la ...
  #1 (permalink)  
Antiguo 13/01/2010, 16:35
 
Fecha de Ingreso: enero-2008
Mensajes: 63
Antigüedad: 16 años, 9 meses
Puntos: 1
Pregunta Obtener el tiempo para llenar un DataSet

Hola, trabajo con c# y quisiera una ayuda de como puedo obtener el tiempo que se toma llenar un dataset, es decir: voy a la base datos y consulta la información, lleno el dataset y al final requiero obtener el tiempo en horas, minutos, segundos, de lo que llevo llenar el dataset. (0hr:3min:10seg)
Algo así como puedo obtener la cantidad de registros por medio de una propiedad.
Agradezco de antemano el apoyo.

Saludos,
  #2 (permalink)  
Antiguo 13/01/2010, 17:21
Avatar de triqui  
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 11 meses
Puntos: 31
Respuesta: Obtener el tiempo para llenar un DataSet

Hola Michelc todos los procesos que lleva a cabo un proyecto, como las variables, el uso de memoria de la cpu que están haciendo tus variables lo hacen las profiling tools(generador de perfiles de rendimiento), es un paquete que viene con el Visual Studio Team System (VSTS), por lo menos la edición de 2008.

Yo las use hace un par de años, y es muy interesante la verdad. Puede analizar cuantas veces usas una variable, cuanto tiempo tardas en llenar un objeto, un método, una clase, todo.

Puedes comparar cosas el rendimiento de cosas tan tontas como ver si es mejor hacer un for que un while, un stringbuilder,...

Yo me acuerdo que de las primeras cosas tontas que probe fue:

Código:
 bool Contiene = false;
string nombre = "Laura";
nombre.Contains("a");
 if (nombre.Contains("a"))
      Contiene = true;
Observe que era mejor hacer esto:

Código:
string nombre = "Laura";
 bool Contiene = false;
for (int i = 0; i < nombre.Length; i++)   {
if(nombre.Substring(i,1).ToString() == "a")
           Contiene = true;
 }
Solo en los casos que en nombre fuera menor que 20 caracteres ó algo así, entonces daba igual en tiempo y en rendimiento, increible, verdad?




Incluso vienen unas opciones especificas para aplicaciones web las cuales puedes programar una serie de acciones en tu web que las haces manualmente, por ejemplo, logearte, ir a una pagina ir a otra ó cualquier otra acción, eso se queda grabado,y de forma automática las pruebas realizarán tus acciones, y tu le dices que eso lo hagan 100 usuarios, unos con IE(la version que quieras) y otros con firefox, y analizas el retardo de todos a la hora de hacer esas acciones, que explorador fue mejor,etc,etc,etc, así puedes probar que tu sistema es estable y aguanta 100 usuarios o por el contrario, sufren caidas ó ralentizaciones al cargar la página ó al realizar cualquier otra acción, un sin fin de posibilidades.

Estos son algunos ejemplos que probe, y hay muchisimos más.

Aprendí con estos ejemplos.

http://msmvps.com/blogs/cwalzer/arch...stem-2008.aspx


Si te fijas te pone que te bajes un video, ejemplos...etc, que lastima que el link del video este roto, porque lo explicaba en español muy bien, pero todavía te puedes bajar los ejemplos, los ejemplos son los mismos que hizo en el video.

Solo funciona el link que dice:
"Además puedes bajar el código y la presentación desde aquí."


Aquí tienes más links

http://blogs.msdn.com/ianhu/archive/...07/368779.aspx
http://blogs.msdn.com/noahc/archive/...-profiler.aspx
http://www.developer.com/net/cplus/a...e-Profiler.htm
http://www.microsoft.com/spanish/msd...t/eventos.aspx

Por cierto si buscas tendrás una versión trial de 90 días de Visual Studio Team System aquí(bajaros la team suite-sytem):

http://msdn.microsoft.com/en-us/visualc/cc268310.aspx

Por cierto teneis que tener cuenta en hotmail, sino nanai.




Ciaoo
__________________
La nueva red social de quinielas quiniela resultados
Cazaresultados Futbol base en directo
  #3 (permalink)  
Antiguo 14/01/2010, 08:49
 
Fecha de Ingreso: enero-2008
Mensajes: 63
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Obtener el tiempo para llenar un DataSet

Hola, uso VS 2005, alguna recomendación para esta versión?
  #4 (permalink)  
Antiguo 14/01/2010, 09:26
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 15 años, 2 meses
Puntos: 16
Respuesta: Obtener el tiempo para llenar un DataSet

Pues algo sencillísimo sería usar TimeSpan, algo así:
Código c#:
Ver original
  1. DateTime inicioProceso = DateTime.Now;
  2. //Proceso para llenar dataset
  3. da.Fill(dataSet1,"Tabla");
  4. TimeSpan duracionDatos = new TimeSpan(DateTime.Now.Subtract(inicioDatos).Ticks);
  5. MessageBox.Show(duracionDatos.TotalSeconds);

Saludos.
__________________
Eduardo Peredo
Wigoin

Última edición por eperedo; 14/01/2010 a las 09:27 Razón: Me faltó un punto y coma XD
  #5 (permalink)  
Antiguo 14/01/2010, 11:51
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 17 años, 2 meses
Puntos: 87
Respuesta: Obtener el tiempo para llenar un DataSet

Aunque el TimeSpan es bueno , es un tanto inexacto para estas cuestiones de medir el performance.

investiga sobre la clase StopWatch
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5

Etiquetas: dataset, llenar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:57.