Blogs Teoriza
Acceder · Crear usuario
Anunciarse
Canal Personal   GONZO · Mia

II Concurso de Scripting (indexacion de datos)

Aprovechando lo bien que salio la secuela queda inaugurado el II Concurso de Scripting en mIRC.

Esta vez se trata de manipular e indexar datos, inspirado en la forma de trabajar de todos los buscadores de internet.

El objetivo es crear el mejor sistema de indexación para buscar más rápido. Para ello es obligatorio crear un programa que tenga dos partes: La primera crear un alias /indexar que indexe todas las rutas, tamaños y fecha de cada archivo que esté dentro del directorio c:windowshelp sin limitación de tiempo de proceso; y el segundo alias /buscar que haga una búsqueda de los tres tipos distintos de datos indexados y mostrará todas las coincidencias del tipo ISIN (...esta contenido en...) en un echo con el formato indicado al ampliar este post.

El tiempo a optimizar es la búsqueda, no interesa la indexación, para ello esta vez no solo habra que optimizar un bucle, también habrá que diseñar un sistema de indexación de datos que los guarde en archivos txt (sugerencia).

El plazo para la realización del reto es de 7 dias, el Sabado 22 de Enero se recogeran los resultados y se publicarán aquí junto con todos los códigos de los participantes. Todos seran probados en las mismas condiciones y una vez finalizado podreis publicar vuestros resultados aqui como hicimos la vez anterior.

Imprescindible pulsar en Ampliar para cualquiera que tenga idea de participar.

Un saludo a todos, que la lucidez os favorezca.

# Prohibido utilizar el identificador $findfile ni $finddir con el 2º parametro (el patron) con otro caracter que no sea *. Es decir solo se puede utilizar $findfile(ruta,*,N) y $finddir(ruta,*,N) # El alias que indexa se llama /indexar y indexará los archivos contenidos directorio c:windowshelp Puedes hacer las pruebas en cualquier otro, pero este es el oficial. # Se jugaran con 3 datos: ruta(Por ejemplo c:windowshelpaccess.chm), tamaño en bytes y fecha # La fecha indexada será la de creación del archivo: $file($findfile(c:windowshelp,*,N)).ctime # El alias /buscar tendrá un cronómetro de tiempo por $calc($ticks - %t) # El comando /buscar permitirá hacer la búsqueda de tres formas: * /buscar ruta <texto a buscar ISIN> * /buscar tamaño <tamaño en bytes (solo números)> * /buscar tiempo <tiempo a buscar en formato numérico (solo 9 numeros)> # En la búsqueda $4- no valdrá nada. # La búsqueda del tipo ruta sera ISIN y el resto == # Los resultados se mostraran con echo con el formato: Búsqueda> ruta - tamaño en bytes - fecha * Ejemplo: Busqueda> c:windowshelpaccess.chm - 39363Bytes - Vie Ago 24 12:00:00 2001 # No es necesario ningun orden especifico al mostrar los resultados. # Una semana de plazo. Hasta el Sabado 22 de Enero. Enviar vuestro código junto con vuestro nick(opcional) y email(opcional) a [email]gonzomail@gmail.com[/email] # Sin sensibilidad a mayúsculas. # Los resultados oficiales se calcularán en las mismas condiciones y realizando las mismas 3 búsquedas a todos los códigos participantes. # En caso de que dos códigos funcionen de la misma forma y el tiempo asi lo demuestre se consideraran empatados. # Se publicarán todos los códigos participantes respetando su autor en esta web. # Se probarán en un mIRC 6.16 a pelo. # Importante, crear un alias /desindexar que elimine todos los archivos y resetee variables resuduales. # Gana el que la media de tiempo de búsqueda sea menor.

Plantilla:

[code]; Nick: - Email: alias indexar { ; Indexa el directorio c:windowshelp entero, guardando los datos: ; $findfile(c:windowshelp,*,N) < --- ruta ; $file($findfile(c:windowshelp,*,N)).size <--- tamaño ; $file($findfile(c:windowshelp,*,N)).ctime <--- tiempo

} alias buscar { if (($1 == ruta) && ($2) && (!$3)) { var %t $ticks ; Busca por ruta. ISIN

} elseif (($1 == tamaño) && ($2 isnum) && (!$3)) { var %t $ticks ; Busca por tamaño. IF

} elseif (($1 == tiempo) && ($2 isnum) && ($len($2) == 9) && (!$3)) { var %t $ticks ; Busca por tiempo. IF

} echo 5 Busqueda realizada en $calc($ticks - %t) $+ ms }[/code]

12 GONZO 13-01-2005
+0 IRC Retos 
  1. +0 Racy 2005-01-18 05:09:57

    weno, pues esta vez ganare yo, a si que...... xD

  2. +0 mQ` 2005-01-18 07:58:15

    se puede bajar de 10ms por archivo? no creo

  3. +0 mQ` 2005-01-18 08:00:07

    una duda aqui
    Cuando se hace /buscar ruta <texto>, debe buscar en la ruta tambien o solo en el nombre de archivo?

  4. +1 GONZO 2005-01-18 13:56:17

    mQ` hay que buscar en toda la ruta, de tal forma que si haces /buscar ruta c: salgan todos los que cuelgan de c: o si pones /buscar ruta .mrc muestre todos los archivos *.mrc. No es del todo exacto, pero mas que suficiente para ser util y sencillo.

    Un saludo y suerte a todos,

  5. +0 Descargas Bittor 2005-01-18 22:21:09

    SkARiOd:

    eso lo gano yo en 0.2mins

  6. +1 GONZO 2005-01-18 22:33:56

    Tomo nota SkARiOd, el Viernes 2 minutos antes te aviso para que participes ;)

  7. +0 Racy 2005-01-19 02:11:57

    Fin de la Busqueda por "Fecha". Realizada en 5679ms. Media de archivo 12.48ms. Archivos encontrados 455
    superar eso xD

  8. +0 mQ` 2005-01-19 04:29:53

    Racy, depende de los ordenadores... He tomado el tiempo de /echo en mi computadora y tarda 20ms por cada uno, asi que mi funcion buscar tarde 20ms por cada uno aqui me parece bien :)

  9. +1 GONZO 2005-01-19 15:37:40

    La unica manera de comparar resultados es probando scripts en el mismo PC.

    Si ya hay diferencia entre un PC y otro midiendo todos en el mismo.... imaginaros si comparas distintos codigos en distintos ordenadores, es imposible.

  10. +0 aduka 2005-01-22 02:19:53

    Solo quiero detallar una cosa. Los ticks son ticks y los milisegundos.. milisegundos. Es como si tienes una pera y una manzana jajaja.

  11. +0 Racy 2005-01-22 05:05:41

    que enterados estamos todos......

  12. +1 GONZO 2005-01-22 15:06:31

    Hola aduka, tienes toda la razon teoricamente. Pero cuando lo analices en la practica veras que son milisegundos aunque mida otra cosa.... aunque teoricamente sea imposible, es asi.

    Un saludo

Artículo escrito por GONZO para Blogs Teoriza.
II Concurso de Scripting (indexacion de datos) .
Blogs Teoriza
Ocio Tecnología Cuidarse Informática Contactos Cultura Vacaciones Interesante Místico Personal
Ocio Alarmas Intimidades Hosting Chat Poesías Hoteles CompraVenta Tarot GONZO
Juegos Tecnología Salud Adsl Messenger Mundo Viajes Videos Videncia Mia
CineTV Inventos Internet Música EnCrucero Polémicas
Deportes Virtual Seguridad ComoHacer Turismo Legalidad
Motor Ubuntu Actualidad
Hardware
Enlaces: MovilZona

Creative Commons License
Blogs Teoriza™ · Red de Blogs · · Aviso Legal · 2003-2010