Hello: A colleague was working in code for a certain projecteuler problem, and found that using "len" of a list has a severe penalty on the sage notebook, which doesn't happen on either the sage or the python console. The two versions of the code below differ only in a call to the function len. In console, the penalty in performance is around 10%, but in the Sage notebook, it takes 3 times longer: the call to "len" costs doble time as the rest of the loop. Anyway, we've been getting weird results from time and its family lately (like CPU time longer than Wall time: is that ok?). This is tested on versions 4.6 and 4.4, on different architectures.
Regards Version 1 tri=pen=hex=dt=dp=dh=1 results=[] cota = 3 while len(results)<cota: if tri==pen==hex: results.append(tri) if tri<=pen and tri<=hex: dt+=1 tri+=dt elif pen<=hex: dp+=3; pen+=dp else: dh+=4; hex+=dh print results Version 2 cota = 3 tri=pen=hex=dt=dp=dh=1 results=[] n=0 while n<cota: if tri==pen==hex: results.append(tri) n+=1 if tri<=pen and tri<=hex: dt+=1 tri+=dt elif pen<=hex: dp+=3; pen+=dp else: dh+=4; hex+=dh print results -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org