Home Menu

Menu



Tasker Para hablar de todo lo relacionado con la aplicación tasker


 
Herramientas
  #1  
Viejo 04/07/18, 13:57:07
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
interrogacion Ejercicios de verano (push/pop al principio o al final del array)

Un Taskero ha preguntado a Joao si es más rápido hacer los push/pop al principio o al final del array. Joao ha contestado que "es lo mismo y no debería haber ninguna diferencia".



Tengo mis dudas ... ¿lo comprobamos?
Responder Con Cita


  #2  
Viejo 05/07/18, 18:03:39
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
En recursos necesarios yo diría que más rápido al final.
En eficiencia, con pocos datos es posible que la diferencia sea inapreciable.
En la práctica no entra en juego porque uno añade/quita donde es necesario.
Responder Con Cita
  #3  
Viejo 06/07/18, 10:08:51
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por GraphicAdventure Ver Mensaje
En recursos necesarios yo diría que más rápido al final.
En eficiencia, con pocos datos es posible que la diferencia sea inapreciable.
Viendo cómo procesa Tasker los arrays es fácil "intuir" que es mejor añadir al final. Y esa es la cuestión ... ¿realmente es mejor? ¿cuánto mejor?

En una prueba rápida (array de 500 elementos al que he añadido otros 500) he comprobado que es un 35%-40% más lento insertar al principio que añadir al final.

En mi tarea de prueba hablamos de unos 600 mseg de diferencia, y creo que eso no es precisamente inapreciable.

Cita:
Originalmente Escrito por GraphicAdventure Ver Mensaje
En la práctica no entra en juego porque uno añade/quita donde es necesario.
Evidentemente. En determinados casos saber que puede ser mejor añadir al final que insertar al principio no tendrá utilidad práctica, pero en otros es algo que se debería tener en cuenta. Yo al menos lo tengo muy presente.
Responder Con Cita
Gracias de parte de:
  #4  
Viejo 06/07/18, 15:47:43
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por WillyWeb Ver Mensaje
...array de 500 elementos al que he añadido otros 500...
Eso no son pocos datos.
Me referí a unos 50 máximo.
Sabes bien que para tal cantidad de información es mejor una base de datos.
Responder Con Cita
  #5  
Viejo 06/07/18, 16:06:52
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
He hecho pruebas con 50, 100 y 500 para verificar si la proporción se mantenía y así es. El 35%-40% no te lo quita nadie.

Y usar una base de datos no siempre es posible. Piensa en un JSON o un XML transformado en un array con el parser correspondiente, como el de AEMET, por poner ejemplos que ya hemos tratado en el foro.

Última edición por WillyWeb Día 06/07/18 a las 16:11:15
Responder Con Cita
  #6  
Viejo 06/07/18, 19:44:53
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
40% es significativo.
Mejor coger buenas costumbres.
Si los datos tienen un orden, la tendencia es que se añadan al último.
Quitar depende donde esté.

Tu proyecto AEMET de 7 días, creas varios arrays locales.
Tienes que añadir/quitar (push/pop) algo en alguno?
Para extraer información no es necesario modificar.
Por cierto, trabajo muy laborioso e impecable.
Eres un fenómeno.
Responder Con Cita
  #7  
Viejo 06/07/18, 20:45:40
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
En el proyecto AMET se hacen cientos de "push", pero nos estamos desviando de la cuestión.

La pregunta es clara...

¿Es más rápido hacer los push/pop al principio o al final del array?

...y la respuesta también lo parece...

Es más rápido hacer los "push" al final del array.

Evidentemente una consideración que no tiene sentido si el proyecto no lo permite/requiere o si se usan otras estrategias.

Sobre los "pop" no me puedo pronunciar porque no he hecho pruebas ... ¿algún voluntario?
Responder Con Cita
Gracias de parte de:
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Otro software para Android > Tasker


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 14:28:34 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007