MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Otimizar código

    asimoes
    asimoes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 30/04/2013

    Otimizar código Empty Otimizar código

    Mensagem  asimoes 15/7/2015, 15:56

    Ola Pessoal,

    Pensando em otimizar o código VBA, alguém sabe me dizer se eu alterar o código como no exemplo abaixo, terei que seja por milésimo de segundo uma melhora no tempo de execução?

    Ex:

    Código atual
    Código:
    strEncTxt = Mid(strLinha, 1, 6)
    strEncTxt = Trim(strEncTxt)
    intQtdeCaracter = Len(strEncTxt)

    Alterar para
    Código:
    intQtdeCaracter = Len(Trim(Mid(strLinha, 1, 6)))

    é uma mudança simples, mas em aplicativo grande, alterações como essa talvez reduza o tempo de execução. Não?


    Obrigado


    .................................................................................
    Não tenho medo de compartilhar conhecimento.
    Essa é a unica coisa que as pessoas não poderão roubar de mim, pois ninguém nunca sabe igual, mesmo que saiba a mesma coisa.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7995
    Registrado : 15/03/2013

    Otimizar código Empty Re: Otimizar código

    Mensagem  Alvaro Teixeira 15/7/2015, 16:30

    Olá, boa questão!
    Eu não sei, mas se transformar os códigos em 2 funções e depois testar numa consulta com vários registos talvez se consiga uma resposta.
    Abraço
    asimoes
    asimoes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 30/04/2013

    Otimizar código Empty Re: Otimizar código

    Mensagem  asimoes 15/7/2015, 20:27

    Olha! fiz o teste conforme sugerido, e os resultados foram exatamente os mesmos. Peguei uma tabela e nela coloquei mais de 10.000 registros e criei uma function simples, um loop pegando cada registro tratando com o os códigos abaixo e jogando os valores em outra coluna traves de update. Segue resultados:


    utilizando:

    strEncTxt = Mid(strLinha, 1, 6)
    strEncTxt = Trim(strEncTxt)
    intQtdeCaracter = Len(strEncTxt)


    Tempo de execução:

    1º teste - 00:00:16  - 1,7361110803904E-04
    2º teste - 00:00:16  - 1,85185184818693E - 04
    3º teste - 00:00:16  - 1,7361110803904E-04

    utilizando:

    intQtdeCaracter = Len(Trim(Mid(strLinha, 1, 6)))

    Tempo de execução:

    1º teste - 00:00:16  - 1,7361110803904E-04
    2º teste - 00:00:16  - 1,7361110803904E-04
    3º teste - 00:00:16  - 1,7361110803904E-04

    Então, podemos considerar que para o VBA otimizar a quantidade de linha de código não é sinal de desempenho, mas sim alterar a codificação por outra que exija menos processamento.


    Agora fica outra pergunta, e como saber o desempenho de processamento de um certo código ou método? existe algum documento pra isso? ou somente na base dos teste mesmo?


    .................................................................................
    Não tenho medo de compartilhar conhecimento.
    Essa é a unica coisa que as pessoas não poderão roubar de mim, pois ninguém nunca sabe igual, mesmo que saiba a mesma coisa.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7995
    Registrado : 15/03/2013

    Otimizar código Empty Re: Otimizar código

    Mensagem  Alvaro Teixeira 16/7/2015, 09:28

    Olá, o teste não foi conclusivo.
    No entanto eu usaria desta forma:

    intQtdeCaracter = Len(Trim(Mid(strLinha, 1, 6)))

    Razão da escolha:
    - não utiliza a variável strEncTxt (poupa memoria, apesar de nos dias de hoje não ser problema, não devemos descurar o principio)
    - fica numa linha o código

    Quanto à segunda questão, eu desconheço.
    No entanto na minha opinião, por vezes temos várias formas de obter o mesmo resultado.
    Já tive casos em que foi necessário alterar, mas não foi corrigir o código, foi fazer de outra maneira diferente.
    Abraço

    Conteúdo patrocinado


    Otimizar código Empty Re: Otimizar código

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 12/11/2024, 20:31