码迷,mamicode.com
首页 > 其他好文 > 详细

bottle.py中的路由搜索优化

时间:2017-01-26 11:36:51      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:err   swap   eth   search   ror   for   use   request   dict   

# Now search regexp routes
# ROUTES_REGEXP是一个字典,键是请求方法,值是[路由, 处理函数]的列表
# 例如:{"GET", [[路由1, 处理函数1], [路由2, 处理函数2]]}
routes = ROUTES_REGEXP.get(method,[])
for i in xrange(len(routes)):
    match = routes[i][0].match(url)
    if match:
        handler = routes[i][1]
        if i > 0 and OPTIMIZER and random.random() <= 0.001:
          # Every 1000 requests, we swap the matching route with its predecessor.
          # Frequently used routes will slowly wander up the list.
          # 有千分之一的概率,可以与前面的路由互换位置,这样使用越频繁的路由就会
          # 被换的越靠前,搜索起来效率就越高
          routes[i-1], routes[i] = routes[i], routes[i-1]
        return handler, match.groupdict()
raise HTTPError(404, "Not found")

 

bottle.py中的路由搜索优化

标签:err   swap   eth   search   ror   for   use   request   dict   

原文地址:http://www.cnblogs.com/tuzkee/p/6351386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!