Archivo

Archivo para la categoría ‘AJAX’

¿Concatenación o uso de la clase StringBuilder?

Lunes, 15 de enero de 2007 1 comentario

En el Framework .NET se incluye un clase especialmente diseñada para trabajar con cadenas de caracteres, esta clase se llama StringBuilder, y aunque es una clase bastante “buena” parece que la descuidamos un poco asi que le haremos algo de publicidad. Hagamos una prueba de talentos, usaremos la clase StringBuilder solo para concatenar textos… les sugiero que creen un nuevo proyecto en .NET 2005, digamos, solo una aplicación de consola, de esas que se ven en modo D.O.S. como para no perder mucho tiempo y probar lo que nos interesa.

En la clase principal (Program.cs) escribamos el siguiente código de .NET (yo estoy usando lenguaje C#)

using System;
using System.Collections.Generic;
using System.Text;

namespace PruebaEstres
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 0;

             long valStb = 10000000;
             StringBuilder stb = new StringBuilder();
             DateTime iniStb = DateTime.Now;
             for (i = 0; i <= valStb; i++)
                 stb.Append(i);

             DateTime finStb = DateTime.Now;
             TimeSpan durStb = finStb – iniStb;
             Console.WriteLine(“Duración del StringBuilder: “ + durStb.ToString());

             Console.WriteLine(“”);

             long valTxt = 100000;
             string txt = “”;
             DateTime iniTxt = DateTime.Now;
             for (i = 0; i <= valTxt; i++)
                 txt += i;

             DateTime finTxt = DateTime.Now;
             TimeSpan durTxt = finTxt – iniTxt;
             Console.WriteLine(“Duración de la Concatenación: “ + durTxt.ToString());

             Console.ReadLine();
        }
    }
}

Al ejecutar estas instrucciones obtendremos los siguientes resultados:

  • Duración del StringBuilder: 00:00:00.5156250
  • Duración de la Concatenación: 00:01:56.312500

Con StringBuilder he hecho la operación diez millones de veces en poco mas de medio segundo, con la concatenación solo se ha hecho cien mil veces en poco mas de 1 minuto con 56 segundos, en otras palabras, StringBuilder ha hecho en un minuto menos, cien veces mas trabajo que la concatenación. Pero no me crean ciegamente, pruebenlo ustedes mismos.

Ahora, si eso se puede hacer con solo la concatenación, imaginense que se podría hacer si lo usamos en una aplicación real. Creo que vale la pena empezar a darle más atención a las novedades que incluyen los lenguajes.

Saludos…

Categories: AJAX

Traduciendo C# a VB y viceversa

Lunes, 15 de enero de 2007 Sin comentarios

A cualquiera de nosotros que desarrollemos en alguno de estos lenguajes nos ha pasado, que cuando necesitamos un recurso por ejemplo en lenaguaje C#, lo encontramos pero en VB, o al revés, si lo encontramos en C#, nosotros lo queríamos en VB.

Bueno, afortunadamente para esto existe una página (entre muchas otras que hay) que traduce los lenguajes, así que si tienes un código en C# y lo quieres pasar a VB, simplemente usas este traductor y ya.

Puedes acceder a este traductor .

Recuerda, existen otros traductores, así que queda investigar a Uds. Además no es bueno basarse en este traductor, lo mejor es estudiar un poco y entender algo de ambos lenguajes, pero no cabe duda que siempre saca de apuros…

Nos vemos…

Categories: AJAX