• Publicidad

¿Hay algo más rápido que el grep?

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

¿Hay algo más rápido que el grep?

Notapor danimera » 2013-12-17 17:06 @754

¿Existe algo más rápido que el grep para verificar si un dato de un array está repetido ?

Tengo esto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $c = grep { $_->{$key} == $data->{$key} } @$pagosCSVData;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Es un array de hash, de unos 30 000 registros, y quiero eliminar los repetidos según una llave :P Pero el proceso para los 30 000 registros me toma mucho, ¿ Cuánto me debería tomar, hay algo más rápido ?
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Re: ¿Hay algo más rápido que el grep?

Notapor explorer » 2013-12-17 17:40 @778

Se puede hacer un bucle que termine juste cuando se cumple la condición...
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $dato_a_buscar = $data->{$key};       # lo sacamos fuera para aumentar la velocidad
  2. my $encontrado    = 0;
  3.  
  4. for (@$pagosCSVData) {
  5.     if ($_->{$key} == $dato_a_buscar) {
  6.         $encontrado = 1;
  7.         last;
  8.     }
  9. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron