@JuanPerez pues la velocidad va a depender de la interconexión entre los servidores y el tipo de almacenamiento, ram y procesador que usen. Son muchos factores.
¿Alguien sabe cual es el método mágico invocado por Python cuando uno calcula min([obj1, obj2, ..., objN])?. Los objetos son de una clase definida por el usuario.
@CandidMoe Entiendo que hay menos llamadas "por debajo", ya que x.valor es un entero (supongo) que python ya sabe cómo comparar, por lo que se ahorra las llamadas a .__lt__()
La explicación que encontre es que "key=" esencialmente guarda el valor en cache, mientras que la llamada a "lt" se repita cada vez. Eso incluso para lambdas que calculan. Aqui tengo una misma ejecución con lambda y otra implementando "lt":
Si la relación se mantiene no parece que sea entonces lo de la cache. Entiendo que si la lambda se cacheara, cuanto más larga fuera la lista mayor sería el factor entre velocidades
si el factor es constante parece más bien entonces que la llamada a __lt__ tarda seis veces más que la llamada a la lambda, o que se hace más veces por elemento
Yo estoy con él támbien, pero ahora estaba con prácticas de MIPS. ¿Algunas vez has usado algún assembler en algún puesto de trabajo?
Desde que he visto los lenguajes ensambladores, me han llamado mucho la atención, sobre todo cuando vi que se le podía hacer ingeniería inversa a un código ensamblador
No creo que se usen apenas en el mundo real, salvo para optimizar algunos trozos de código que sean un cuello de botella. Pero aún en ese caso, se suele programar en C pues los compiladores C hacen una excelente optimización, seguramente mejor de la que harás tú
Necesitas conocer bien ensamblador si estás haciendo un compilador, claro. O para programar partes del kernel del operativo, o controladores de dispositivo
pero me temo que la principal utilidad hoy día puede ser para ingeniería inversa, y para hacer "el mal" (virus, payloads maliciosos, exploits)
También es muy útil tener ideas claras de ensamblador, aún si no lo vas a usar nunca, porque ayuda a entende mejor qué hace la CPU en realidad, y por tanto a escribir código más óptimo, aún si es de alto nivel