作为一名程序员,我通常尽量避免使用del语句,因为它通常是Python程序不经常需要的额外复杂性。但是,在浏览标准库(threading、os等)时和伪标准库(numpy、scipy等)我看到它使用了非零的次数,我想更好地理解它何时适合/不适合del语句。
具体地说,我对Python语句和del程序效率之间的关系感到好奇。在我看来,del可以通过减少需要筛选的杂乱查找指令的数量来帮助程序更快地运行。然而,我也可以看到这样一个世界,额外的指令占用的时间比节省的时间更多。
我的问题是:有谁有任何有趣的代码片段来演示del显着改变程序速度的情况?我最感兴趣的是del提高了程序的执行速度的情况,尽管del真正有害的情况也很有趣。
发布于 2018-11-27 08:47:37
具体地说,我对
del语句和Python程序效率之间的关系感到好奇。
就性能而言,del (不包括像del x[i]这样的索引删除)主要用于GC目的。如果你有一个指向一些不再需要的大对象的变量,del会(假设没有其他引用)释放这个对象(使用CPython,这会立即发生,因为它使用了引用计数)。如果您要填充RAM/缓存,这可能会使程序更快;要知道这一点,唯一的方法是实际对其进行基准测试。
在我看来,
del可以通过减少需要筛选的杂乱查找指令的数量来帮助程序更快地运行。
除非您正在使用数千个变量(您不应该这样做),否则使用del删除变量不太可能对性能产生任何明显的影响。
https://stackoverflow.com/questions/53491177
复制相似问题