由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - python用全局变量能节省程序执行时间吗?
相关主题
请教什么时候变量会被load进stack,什么时候进入heap呢?R似乎根本就没有认真考虑过global variable的改写问题
C++ 全局变量是怎么回事?Javascript的Scope问题
关于多线程编程的一个问题从全局变量到IOC模式
问个C语言里面全局变量和本地变量引用问题python的scope机制 非常垃圾
关于线程读写全局变量的问题FP over head很高
请问多个线程同时访问同一个内存地址会不会使得程序变慢MPI xl fortran problem on Blue Gene
老哥使用的一项技术: extern定义全局变量请问python能否在一个子程序里边创立独立的命名空间?
[bssd]goto的现实根据请教python
相关话题的讨论汇总
话题: br话题: scope话题: global话题: elem
进入Programming版参与讨论
1 (共1页)
g****t
发帖数: 31659
1
numpy大的数组放在函数内初始化好,
还是直接全局变量好?纯以速度而论的话?
我基本遵从如下模糊认识:
更早 告诉解释器/编译器 更多的信息,速度会快一些。
这样对不对?
w********m
发帖数: 1137
2
global variable应该更慢吧
g****t
发帖数: 31659
3
You are right and I just verified by using a single function.
The theory is:
Local namespace is checked first. Then global and then
system build in namespace.
Thanks !

【在 w********m 的大作中提到】
: global variable应该更慢吧
w********m
发帖数: 1137
4
个人感觉,function上面加一层class,对python还是很有必要的。
g****t
发帖数: 31659
5
Get thing done就可以吧。


: 个人感觉,function上面加一层class,对python还是很有必要的。



【在 w********m 的大作中提到】
: 个人感觉,function上面加一层class,对python还是很有必要的。
c*********e
发帖数: 16335
6
全局变量 乱用的话,会更慢。

【在 g****t 的大作中提到】
: numpy大的数组放在函数内初始化好,
: 还是直接全局变量好?纯以速度而论的话?
: 我基本遵从如下模糊认识:
: 更早 告诉解释器/编译器 更多的信息,速度会快一些。
: 这样对不对?

L***s
发帖数: 1148
7
LEGB scoping rule
具体实践上,可以在 local 再引用一次 global
比如标准库里的小顶堆实现里的几句:
https://hg.python.org/cpython/file/2.7/Lib/heapq.py#l215
_heappushpop = heappushpop
for elem in it:
_heappushpop(result, elem)
这里 heappushpop 是另外一个函数,在 global scope
如果直接放 for 循环里,每次都得先 lookup local scope,
再查 enclosed 和 global scope,就慢了。
所以在 local scope 里用 _heappushpop 来引用 global scope 的对象
for elem in it:
heappushpop(result, elem)

【在 g****t 的大作中提到】
: You are right and I just verified by using a single function.
: The theory is:
: Local namespace is checked first. Then global and then
: system build in namespace.
: Thanks !

g****t
发帖数: 31659
8
杩欎釜鍔炴硶涓嶉敊馃憤
璋㈣阿鎸囩偣
銆鍦Leiss(寰曞徃) 鐨勫ぇ浣滀腑鎻愬埌: 銆br />

: LEGB scoping rule

: 鍏蜂綋瀹炶返涓婏紝鍙互鍦local 鍐嶅紩鐢ㄤ竴娆global

: 姣斿鏍囧噯搴撻噷鐨勫皬椤跺爢瀹炵幇閲岀殑鍑犲彞锛br />

: https://hg.
python.org/cpython/file/2.7/Lib/heapq.py#l215

: _heappushpop = heappushpop

: for elem in it:

: _heappushpop(result, elem)

: 杩欓噷 heappushpop 鏄彟澶栦竴涓嚱鏁帮紝鍦global scope

: 濡傛灉鐩存帴鏀for 寰幆閲岋紝姣忔閮藉緱鍏lookup local scope锛br />

: 鍐嶆煡 enclosed 鍜global scope锛屽氨鎱簡銆br />

1 (共1页)
进入Programming版参与讨论
相关主题
请教python关于线程读写全局变量的问题
问个管理程序参数的问题请问多个线程同时访问同一个内存地址会不会使得程序变慢
请问这个C++程序有什么问题吗老哥使用的一项技术: extern定义全局变量
return Triangular_iterator( _beg_pos );意思[bssd]goto的现实根据
请教什么时候变量会被load进stack,什么时候进入heap呢?R似乎根本就没有认真考虑过global variable的改写问题
C++ 全局变量是怎么回事?Javascript的Scope问题
关于多线程编程的一个问题从全局变量到IOC模式
问个C语言里面全局变量和本地变量引用问题python的scope机制 非常垃圾
相关话题的讨论汇总
话题: br话题: scope话题: global话题: elem