创建单独的函数而不是一个大的缓慢处理时间?

ehf*_*eng 9 python performance google-app-engine function

我正在使用Google App Engine环境并使用Python进行编程.我正在创建一个函数,它基本上生成一个随机数字/字母字符串,然后存储到memcache.

def generate_random_string():
# return a random 6-digit long string

def check_and_store_to_memcache():
    randomstring = generate_random_string()
    #check against memcache
    #if ok, then store key value with another value
    #if not ok, run generate_random_string() again and check again.
Run Code Online (Sandbox Code Playgroud)

创建两个函数而不是一个大函数会影响性能吗?我更喜欢两个,因为它更符合我的想法,但如果这是"最佳实践",请不要介意将它们结合起来.

Ree*_*sey 34

专注于能够阅读并轻松理解您的代码.

完成此操作后,如果遇到性能问题,请查看可能导致性能问题的原因.

包含python的大多数语言在进行方法调用时往往具有相当低的开销.将此代码放入单个函数不会(显着)改变性能指标 - 我猜你的随机数生成可能是大部分时间,没有2个函数.

话虽这么说,拆分功能确实会对性能产生(非常非常小的)影响.但是,我会这么想的 - 它可能会让你从高速公路上的80英里/小时到79.99英里/小时(你永远不会注意到).需要注意的重要事项是避免红绿灯和交通拥堵,因为它们会让你不得不完全停下来......

  • 你没有提到过早优化会产生比解决更多的问题. (6认同)
  • 我不同意你的说法,即包含python的大多数语言在进行方法调用时往往具有相当低的开销.http://wiki.python.org/moin/PythonSpeed/PerformanceTips#Data_Aggregation (2认同)

Sha*_*off 18

在几乎所有情况下,增加速度的"内联"功能就像剪头发减肥一样.