AScan() o AT()

Post Reply
FiveWiDi
Posts: 1238
Joined: Mon Oct 10, 2005 2:38 pm
Has thanked: 3 times
Been thanked: 4 times

AScan() o AT()

Post by FiveWiDi »

Hola a todos,

Sabría alguién decirme que es más efeciente, si usar AScan() para encontrar un elemento en una array unidimensional, o usar AT() en una cadena (que contiene valores concatenados)?

Para la cantidad de valores que hasta ahora manejaba me daba igual, pero quizás se incremente hasta 1.000.000 de valores; y eso ya es otra cosa. Los valores a buscar son cadenas de hasta 20 posiciones.

No estoy pensando meterlo en una BBDD por que serán valores que se agruparan dinámicamente según la consulta que realice el usuario, pero no lo descarto.

Muchas gracias,
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
User avatar
Antonio Linares
Site Admin
Posts: 42520
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 75 times
Contact:

Re: AScan() o AT()

Post by Antonio Linares »

Estimado Carlos,

La función At() está basada en código en C que aprovecha directamente capacidades innatas de la CPU. Es decir, la CPU esta diseñada por el fabricante
para encontrar subcadenas de la forma más eficiente posible y este poder lo tienes directamente a tu alcance usando At().

Es por esto que no existe nada más rápido que At() para encontrar una subcadena, que es un grupo de bytes dentro de un grupo de bytes mayor.
regards, saludos

Antonio Linares
www.fivetechsoft.com
FiveWiDi
Posts: 1238
Joined: Mon Oct 10, 2005 2:38 pm
Has thanked: 3 times
Been thanked: 4 times

Re: AScan() o AT()

Post by FiveWiDi »

Antonio Linares wrote:Estimado Carlos,

La función At() está basada en código en C que aprovecha directamente capacidades innatas de la CPU. Es decir, la CPU esta diseñada por el fabricante
para encontrar subcadenas de la forma más eficiente posible y este poder lo tienes directamente a tu alcance usando At().

Es por esto que no existe nada más rápido que At() para encontrar una subcadena, que es un grupo de bytes dentro de un grupo de bytes mayor.


Muchas gracias Antonio; no recordaba este detalle.
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
Post Reply