Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2011, 21:09
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
CSharp vs PHP con MySQL

Que tal compañeros, vengo a solicitar información al respecto, estoy desarrollando un sitio web bastante complejo, ya que realiza operaciones matemáticas complejas, por lo cual tarda bastante en procesar los datos con PHP, por lo cual decidí implementar en CSharp las mismas sentencias que en PHP, ya que supuse que sería aun mas rápido que PHP, sin embargo, haciendo pruebas para ingresar datos a MySQL desde PHP y CSharp (este ultimo usando conector de MySQL para .NET) veo que este ultimo tarda mas en realizar el mismo numero de ingresos, mi problema es que realmente no puedo creer esto ultimo, lo cual me hace pensar que igual y no estoy realizando las conexiones de manera optima en CSharp

Mi código es el siguiente:

CSharp:
Código C++:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. //MySQL
  7. using MySql.Data.MySqlClient;
  8.  
  9. namespace mysql_csharp
  10. {
  11.     class Program
  12.     {
  13.         static void Main(string[] args)
  14.         {
  15.             string connString = "server=localhost;User Id=root;password=*****;database=demo;port=3306;";
  16.             MySqlConnection conn = new MySqlConnection(connString);
  17.             MySqlCommand command = conn.CreateCommand();
  18.  
  19.             TimeSpan stop;
  20.             TimeSpan start = new TimeSpan(DateTime.Now.Ticks);
  21.  
  22.             try
  23.             {
  24.                 conn.Open();
  25.             }
  26.             catch (Exception e)
  27.             {
  28.                 Console.WriteLine(e.Message);
  29.             }
  30.  
  31.             for (int i = 0; i <= 100000; i++)
  32.             {
  33.                 command.CommandText = "insert into usuarios (usuario,pass,email) values ('user" + i.ToString() + "','pass','email" + i.ToString() + "@servidor.com')";
  34.                 command.ExecuteNonQuery();
  35.                 //Console.WriteLine("Insertando el usuario num " + i.ToString());
  36.             }
  37.  
  38.             stop = new TimeSpan(DateTime.Now.Ticks);
  39.  
  40.             Console.WriteLine("Tiempo de ejecución: " + stop.Subtract(start).TotalMilliseconds.ToString());
  41.  
  42.             conn.Close();
  43.         }
  44.     }
  45. }

Al final me muestra: Tiempo de ejecución: 13820.7905

PHP
Código PHP:
Ver original
  1. <?php
  2. function getmicrotime(){
  3. $micro = microtime();
  4. $micro = explode(" ",$micro);
  5. $micro = $micro[1] + $micro[0];
  6. return ($micro);
  7. }
  8.  
  9. $start = getmicrotime();
  10.  
  11. $con = mysql_connect('localhost','root','nintendo') or die (mysql_error());
  12.  
  13. for ($i=0; $i<=100000; $i++) {
  14. $query = "insert into usuarios (usuario,pass,email) values ('user".
  15.  
  16. $i."','pass','email".$i."@servidor.com')";
  17. mysql_query($query,$con) or die (mysql_error());
  18. }
  19.  
  20. $stop = getmicrotime();
  21. $total = $stop - $start;
  22. echo "Tiempo de ejecución: ".$total;

Al fina muestra "Tiempo de ejecución: 10.9690761566", por lo tanto veo que aproximadamente es 2 a 3 segundos de retraso en CSharp (en varias pruebas el tiempo varia)

Todo corriendo en la misma maquina, tanto PHP como el ejecutable CSharp y MySQL, ya después, meditándolo tal vez el culpable sea el conector, que alenté el ejecutable en si, pero aun así no estoy seguro...

Alguien tiene experiencia usando CSharp y MySQL para obtener buenos resultados o realmente este es "la velocidad" con la que voy a llegar a trabajar en CSharp???
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)