7-18|性能比较

简介: 7-18|性能比较

针对上面提供的三种求解方法,现在来对它们进行基准测试。

import timeit
def max_of_three_1(a, b, c):
    return max(a, b, c)
def max_of_three_2(a, b, c):
    if a >= b and a >= c:
        return a
    elif b >= a and b >= c:
        return b
    else:
        return c
def max_of_three_3(a, b, c):
    nums = [a, b, c]
    nums.sort()
    return nums[2]
if __name__ == "__main__":
    print(timeit.timeit("max_of_three_1(1, 2, 3)", setup="from __main__ import max_of_three_1"))
    print(timeit.timeit("max_of_three_2(1, 2, 3)", setup="from __main__ import max_of_three_2"))
    print(timeit.timeit("max_of_three_3(1, 2, 3)", setup="from __main__ import max_of_three_3"))


上面的代码中,使用Python的timeit库进行基准测试,结果如下:

0.1354021
0.18545920000000002
0.3792012000000001


从结果上可以看出,使用max函数的效率最高,if语句次之,使用列表排序的效率最低。

三、使用示例

下面是一个使用示例,假设需要从三个输入值中找出最大值:

a = int(input("请输入第一个数字:"))
b = int(input("请输入第二个数字:"))
c = int(input("请输入第三个数字:"))
print("输入的三个数字中最大值为:{}".format(max_of_three(a, b, c)))


上面的代码中,通过input函数获取三个数字,然后使用上文提到的方法求得最大值并输出。


相关文章
|
算法 分布式数据库 分布式计算
|
1月前
|
Web App开发 API 图形学
QtWebEngine性能问题
QtWebEngine性能问题
59 1
|
2月前
|
前端开发 JavaScript 应用服务中间件
网站性能提升
【7月更文挑战第31天】
23 4
|
11月前
|
JSON 数据库 数据格式
性能和可测试性的选择
性能和可测试性的选择
|
缓存 Ubuntu 网络协议
virtiofs性能
virtiofs性能测试
475 0
|
监控 网络协议 Cloud Native
服务器性能如何优化?(建议收藏)
服务器性能如何优化?(建议收藏)
1113 0
|
存储 缓存 前端开发
如何提高网站的性能
网站的性能是影响用户体验和转化率的关键因素之一。本文将介绍一些优化网站性能的方法和技巧,包括减少HTTP请求、使用CDN、压缩和合并文件、使用浏览器缓存和优化图片等。
136 0
|
存储 Web App开发 缓存
使用ServiceWorker提高性能
service worker 是一种在独立的处理线程上执行后台任务的 worker,允许用户拦截网络请求并有条件地将其存储在称为 CacheStorage API 的特殊缓存中,此类缓存不同于本地浏览器缓存,因为它允许在用户脱机的情况下从缓存中提供数据,还可以提高页面的性能。其工作原理建议阅读《ServiceWorker工作原理、生命周期和使用场景》
432 0
|
网络协议 算法 Java
高并发场景下如何优化服务器的性能?
最近,有小伙伴在群里提问:Linux系统怎么设置tcp_nodelay参数?也有小伙伴说问我。那今天,我们就来根据这个问题来聊聊在高并发场景下如何优化服务器的性能这个话题。
420 0
高并发场景下如何优化服务器的性能?
cudaMemcpy的性能问题
cudaMemcpy的性能问题
221 0