Bienvenido, invitado ( Identificarse | Registrarse )

 
Reply to this topicStart new topic
Sugerencias para mejorar el tiempo en Cruel Captcha 2, 138 - Cruel Captcha 2
hecky
mensaje 29/07/2012 01:01
Publicado: #1
Novato++
**



Grupo: Miembro
Mensajes: 52
Registrado: 09/04/2009
Desde: Mexico D.F
País: México
Ranking : 42 º/ 372.14
Avance : 26.90 %
All Stars
MixIngenioEsteganografíaSistemas OperativosCriptografiaSeguridadCrackingLenguajes Diseño WebLenguajes de ProgramaciónIngeniería InversaCiencias
Especialidad: Amor Esteganografico
Comunidad: Sinfocol.org
Rank: ON



Hola amigos, no se si puedan sugerirme cosas para este reto que ya me tiene traumado desde hace unos dias...

En "teoria" ya lo tengo todo...Obtengo las cadenas que se necesitan, Obtengo la imagen, la limpio muy bien (Gracias a un patron que encontre y con una operacion Lógica), hago el OCR y mando todas las variables por POST (Sin olvidar enviar ciertas cabeceras)...

Pero por mas que intento no alcanzo hacerlo en 1 seg... ='(

Lo estoy haciendo con bash y php y me tardo cerca de 1.5 seg
Lo hice con puro bash y me tardo 1.2 seg minimo
Lo hago con puro PHP y me tardo 1.4 seg min

Ya no se como bajarlo mas, ya intente de todo y lo que me anda fregando siempre es descargar la imagen...pff

No se si pudieran sugerirme algo para hacer este proceso mas rapido.

Gracias y saludos ;)
Go to the top of the page
 
+Quote Post
g30rg3_x
mensaje 29/07/2012 17:56
Publicado: #2
SysAdmin
*****



Grupo: Admin Retirado
Mensajes: 396
Registrado: 29/01/2005
Desde: /mexico/yucatan/merida
País: México
Especialidad: Hechar la hueva
Comunidad: Yashira.org
Rank: OFF



Buenas,

Es difícil hablar de optimizaciones ya que el único que puede decir donde esta el cuello de botella eres tu, pedirte el código fuente seria la mejor opción para diagnosticar tu problema pero obviamente eso seria dar demasiada pista a los demás participantes sobre el reto por lo que si quieres mi opinión sugeriría que me lo envíes por PM o Email para que te diga mi opinión personal.

Ahora tomando en cuando lo dicho anteriormente y considerando un ambiente donde digamos ejecutes 5 comandos/procesos en "bash puro" (aunque yo no diría bash puro le diría bash scripting por que no son comandos específicos de bash) o "php puro", lo cuales seguro serian algo así...

1. wget/curl petición.
2. wget/curl imagen.
3. <algún script/programa de limpieza o conversión de imagen>.
4. <alguna herramienta hecha a mano o bien un ocr conocido como gocr o tesseract).
5. wget/curl para enviar la respuesta.

Por lo que mis sugerencias para mejorar los tiempos en un proceso/algoritmo similar serian...

1. Usar conexiones persistentes.
2. Mejorar el rendimiento del programa de limpieza/ocr: Lo mas seguro es que tengas un script en php para esta labor y php es bastante lento en este proceso así que he encontrado que muchos participantes encuentran soluciones alternas en lenguajes compilados o bien tal vez compilar tu script en php con algun compilador como phalanger o bien phc)
3. Reduce el numero de llamadas hacia I/O (o bien usa técnicas asíncronas de escritura) al poner todo en memoria y solamente escribir cuando lo necesites (esto es una super ayuda sobre todo si estas haciendo tu propio OCR).
4. Asegúrate de que realmente tengas un buen porcentaje de reconocimiento, muchas personas que me han mandado sus respuestas no se dan cuenta de que a veces fallan sus OCR y tienen un porcentaje de aciertos de como 50% o menos así que para estos casos sugeriría obviamente realizar varios intentos (al menos 10) antes de tirar la toalla.
5. Puede que no sea tu problema pero fíjate en la velocidad de red, podrás procesar la imagen rápido pero si tu conexión es lenta jamas podrás vencer el tiempo, una sugerencia sencilla es simplemente usar redes cableadas vs redes inalambricas, he encontrado gente tratando de pasar el reto desde sus laps con conexión inalambrica lo que añadía unas milésimas de segundo mas a la conexión y apenas usaron redes cableadas pasaron el reto sin problemas.

Espero alguna de mis sugerencias te ayude a pasar el reto si sigues trabado sugeriría que me envíes tu respuesta por PM para que la analice y pueda darte un consejo mas directo.

Saludos
Go to the top of the page
 
+Quote Post
hecky
mensaje 05/08/2012 03:50
Publicado: #3
Novato++
**



Grupo: Miembro
Mensajes: 52
Registrado: 09/04/2009
Desde: Mexico D.F
País: México
Ranking : 42 º/ 372.14
Avance : 26.90 %
All Stars
MixIngenioEsteganografíaSistemas OperativosCriptografiaSeguridadCrackingLenguajes Diseño WebLenguajes de ProgramaciónIngeniería InversaCiencias
Especialidad: Amor Esteganografico
Comunidad: Sinfocol.org
Rank: ON



Muchisimas gracias por las recomendaciones g30rg3_x tratare varios puntos, ya solo me falta .20 segundos xD En si mi algoritmo es exactamente como lo planteas y efectivamente uso PHP...en los metodos de bash (que tienes razon no es bash puro, sino bash scripting) uso programas como imagemagick y la limpio (claro como un 10% menos efectivo que con PHP), pero aun así sigo sin lograr superar el objetivo en el tiempo indicado.

Y si lo intente varias veces..de hecho lo meti en un ciclo inifinito =P (como en los demas captchas). Y por el momento no estoy programando mi propio OCR...intento no llegar a eso aun (yo creo en posteriores retos lo tendre que hacer =P)

Haré las optimizaciones solo ahora que arregle mi compu. Y yo creo probare en python haber que tal me va =)

Muchas gracias y me fueron muy instructivas tus consejos...

P.D Perdon por contestar tan demoradamente.
Go to the top of the page
 
+Quote Post
hvbe
mensaje 04/12/2012 15:32
Publicado: #4
Lurker




Grupo: Miembro
Mensajes: 8
Registrado: 21/08/2010
País: Corea del Norte
Ranking : 35 º/ 406.86
Avance : 29.41 %
All Stars
Sistemas OperativosEsteganografíaCrackingMixCriptografiaLenguajes Diseño WebSeguridadIngenioMisiones ImposiblesIngeniería InversaLenguajes de Programación
Comunidad: Yashira.org
Rank: ON



Se puede redimensionar con IM al principio. Si se tiene un par de funciones por cada píxel toma mucho tiempo.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 usuario(s) está(n) leyendo esta discusión (1 invitado(s) y 0 usuario(s) anónimo(s))
0 miembro(s):

 

RSS Versión Lo-Fi Fecha y Hora actual: 28/03/2024 22:28