FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour AScan() o AT()
Posts: 1446
Joined: Mon Oct 10, 2005 02:38 PM
AScan() o AT()
Posted: Sat Aug 20, 2022 10:37 PM

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 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: AScan() o AT()
Posted: Sun Aug 21, 2022 08:53 AM

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
Posts: 1446
Joined: Mon Oct 10, 2005 02:38 PM
Re: AScan() o AT()
Posted: Sun Aug 21, 2022 10:19 AM
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 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Continue the discussion