Jump to content

Recommended Posts

Posted

Boas, como voces sabem a performance é essencial, então eis a minha questão:

Em tempos tinhs um programa que em ligangem tipo assembly e que compilava em dos, era um bocadinho limitado, mas dava uma perfonance espetacular.

O VS2008 em VB que faz muita coisa, os aplicativos nao tem tanta performance, por exemplo:

em VB demora ai uma 4 seg a incrementar um numero de 0 a 5000 e a escrever numa label.

No antigo programa era praticamente instantanio, so numeros de 0 qte 50000000 é qe demorava um bocadinho...

Algumas dicas ou sugestões para aumentar a performance em vb?

Luis Lourenço

Posted

Também tem há ver com o VB em sí a monitorizar o que estás a fazer, lembra-te que estás em debug e se alguma coisa corre mal, o VB vai parar a tua aplicação e apontar-te para a linha com o erro, ou seja, está a correr o programa passo a passo...

Experimenta correr directamente a aplicação (o executável) fora do VB.

Ricardo Timóteo

Posted

Boas, como voces sabem a performance é essencial, então eis a minha questão:

Em tempos tinhs um programa que em ligangem tipo assembly e que compilava em dos, era um bocadinho limitado, mas dava uma perfonance espetacular.

O VS2008 em VB que faz muita coisa, os aplicativos nao tem tanta performance, por exemplo:

em VB demora ai uma 4 seg a incrementar um numero de 0 a 5000 e a escrever numa label.

No antigo programa era praticamente instantanio, so numeros de 0 qte 50000000 é qe demorava um bocadinho...

Algumas dicas ou sugestões para aumentar a performance em vb?

Assembly não tem visualização gráfica como o vb.net tem. A execução é rápida, a visualização é que é um pouco mais demorada.

Posted

Não te esqueças que entre o DOS e o Windows ou Linux há uma grande diferença.

No DOS só estava a correr o teu programa.

No Windows ou Linux estão a correr vários programas e serviços ao mesmo tempo e os recursos do computador são partilhados por todos, pelo que num determinado momento tiveres um programa (ou um conjunto de programas) a gastar 100% do CPU os restantes (incluindo o teu que estás a testar) ficam há espera ou extremamente lentos, baixando consideravelmente a performance.

Ricardo Timóteo

Posted

Uma Console Application em C# faz esse incremento rapidamente:

Experimentem:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication2

{

    class Program

    {

        static void Main(string[] args)

        {

            DateTime inicio = DateTime.Now;

            for (int i = 0; i < 5001; i++)

            {

                Console.WriteLine(i);

            }

            Console.WriteLine("-----------------------------");

           

            Console.WriteLine("Demorou: {0}", DateTime.Now - inicio);

        }

    }

}

Depois comentem a linha:                Console.WriteLine(i);

e vejam a diferença.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Posted

Experimentei em Windows: (Vista)

Sem Comentário: 0.8 segundos

Com Comentário: 0.006 segundos

Em Linux, mono: (Ubuntu 9.04)

Sem Comentário: 0.2 segundos

Com Comentário: 0.03 segundos

Isto valores médios depois de uma série de testes.

A consola do windows demora muito mais tempo a mostrar os valores, mas é mais rapido a processa-los.

No entanto a minha consola do windows tem um buffer maior, o q faz ter mais linha, logo perder algum tempo aí.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.