gpt4 book ai didi

python - 如何优化此 Google App Engine 代码?

转载 作者:太空狗 更新时间:2023-10-30 00:33:59 26 4
gpt4 key购买 nike

我是 Python 世界的新手,但这似乎非常简单。

Google 对我大喊这段代码需要优化:

class AddLinks(webapp.RequestHandler):
def post(self):
# Hash the textarea input to generate pseudo-unique value
hash = md5.new(self.request.get('links')).hexdigest()

# Seperate the input by line
allLinks = self.request.get('links').splitlines()

# For each line in the input, add to the database
for x in allLinks:
newGroup = LinkGrouping()
newGroup.reference = hash
newGroup.link = x
newGroup.put()

# testing vs live
#baseURL = 'http://localhost:8080'
baseURL = 'http://linkabyss.appspot.com'

# Build template parameters
template_values = {
'all_links': allLinks,
'base_url': baseURL,
'reference': hash,
}

# Output the template
path = os.path.join(os.path.dirname(__file__), 'addLinks.html')
self.response.out.write(template.render(path, template_values))

仪表板告诉我这正在使用大量 CPU。

我应该在哪里寻求改进?

最佳答案

这里的主要开销是对数据存储的多个单独的 put。如果可以,请按照 Andre 的建议将链接存储为单个实体。您始终可以将链接拆分为数组并将其存储在 ListProperty 中。

如果您确实需要每个链接的实体,请尝试以下操作:

# For each line in the input, add to the database
groups = []
for x in allLinks:
newGroup = LinkGrouping()
newGroup.reference = hash
newGroup.link = x
groups.append(newGroup)
db.put(groups)

它将数据存储往返次数减少到一次,而真正扼杀高 CPU 上限的正是往返次数。

关于python - 如何优化此 Google App Engine 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/250209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com