¿Hay una diferencia de rendimiento o preferencia de estilo entre estas dos formas de escribir declaraciones if? Básicamente es lo mismo, la condición 1 se cumplirá solo una vez, mientras que la otra condición se cumplirá en cualquier otro momento. ¿Debería la condición que se cumple solo una vez ser primero o segundo? ¿Hace una diferencia en cuanto al rendimiento? Prefiero la primera manera si el rendimiento es el mismo.¿Rendimiento o diferencia de estilo entre "si" y "si no"?
data = range[0,1023]
length = len(data)
max_chunk = 10
for offset in xrange(0,length,max_chunk):
chunk = min(max_chunk,length-offset)
if chunk < max_chunk:
write_data(data[offset:])
else:
write_data(data[offset:offset+max_chunk])
vs
data = range[0,1023]
length = len(data)
max_chunk = 10
for offset in xrange(0,length,max_chunk):
chunk = min(max_chunk,length-offset)
if not chunk < max_chunk:
write_data(data[offset:offset+max_chunk])
else:
write_data(data[offset:])
@Konstantin, por favor, no cambie [código en preguntas] (http://stackoverflow.com/review-beta/suggested-edits/738615); deje un comentario para OP en su lugar y sugiera el cambio. – Ben
Su cuello de botella real es probable que sea 'write_data'. No te preocupes por las cosas pequeñas. Si tiene un problema de rendimiento, perfile y optimice. –
¿Qué estás escribiendo? Lo más probable es que ya esté almacenado en el búfer o que permita establecer el tamaño del búfer. –