在多核平台下面,你的程序能够使用到多核能力的几分之几

简介:
从前程序员只对实现功能感兴趣,  多核平台推出之后,程序员又需要多长一根筋。要不写出来的程序效率差,  又要被使用多核机器的玩家骂了。谁愿意用多花钱买了多核机器,软件却是单线程,只用得到单核的性能。
      “不就是多线程嘛,好办的不得了。我的程序里面本来存在几个线程。调用库的时候,  库里面就 implicit的开了几个线程。这样不就适合多核了吗。”  程序员们如是说。
         殊不知少考虑了一个非常重要的问题。一个线程就相当于一个工人,  是不是工人越多,生产效率就越高。这是典型的是否人多力量大的命题。  答案自然是否定的。
         线程是多了,  但是如果同一时间里面只有一个线程在干活,  线程多有什么用!!!   同一时间里面干活的线程数量被称为  concurrency level. 比如同一时间的干活线程数量是 4个,那么此时的 concurrency level 就是 (在有些分析软件里面是以 0concurrency level 计数起点,于是此时 concurrency level 3 比如 cfinder 就是如此计 concurrency level 的)。  如果 4核机器上, concurrency level4的时间维持得很久,  比如占整个运行时间的 80%  这样的多线程程序是真正对多核机器有效的。
          如果 concurrency level 4的时间,   占整个运行时间的 1% 90%的时间 concurrency level  这样的多线程程序和单线程有区别吗!!!  这样的程序只能用到单核能力,  多核能力基本没有用到,是一定是需要性能调优的。


本文转自Intel_ISN 51CTO博客,原文链接:http://blog.51cto.com/intelisn/131491,如需转载请自行联系原作者
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
|
10月前
|
存储 数据中心 云计算
抖音服务器带宽有多大,为什么能够供那么多人同时在线
抖音通过在全国多地设立数据中心,利用分布式云计算技术,如CDN、OSS等,实现视频数据的高效分发与存储。每个用户就近接入当地数据中心,减轻单点压力,确保高并发下的流畅体验。数据中心间通过高速网络同步数据,保证内容的及时更新与访问。这种架构设计有效支撑了大量用户的同时在线。
377 1
|
10月前
|
Web App开发 JavaScript 开发者
跨域处理
跨域处理
156 0
|
安全 网络安全 数据安全/隐私保护
`certifi`是一个Python包,它提供了一个包含Mozilla证书颁发机构(CA)Bundle的PEM文件。
`certifi`是一个Python包,它提供了一个包含Mozilla证书颁发机构(CA)Bundle的PEM文件。
|
机器学习/深度学习 人工智能 自然语言处理
NLP技术
【7月更文挑战第8天】NLP技术
463 2
|
Arthas 测试技术 Java
一文带你快速了解 Java 线上问题快速诊断神器 Arthas
【6月更文挑战第1天】一文带你快速了解 Java 线上问题快速诊断神器 Arthas
687 3
|
存储 安全 网络安全
云端防御:在云计算时代维护网络安全与信息完整性
【4月更文挑战第15天】 随着企业和个人用户日益依赖云服务,云计算环境的安全性已成为技术发展的一个关键挑战。本文探讨了云计算平台面临的安全威胁、信息安全的关键策略以及实施有效防护措施的必要性。我们将分析数据加密、身份验证和访问控制等核心技术,并讨论如何通过综合方法保护云资源以应对不断演变的网络攻击。
262 2
|
机器学习/深度学习 存储 程序员
C语言编辑器
C语言编辑器
900 0
|
XML 缓存 Java
Spring5源码(7)-lookup-method和replace-method注入
Spring5源码(7)-lookup-method和replace-method注入
230 0
|
SQL 前端开发 数据安全/隐私保护
若依框架---权限管理设计
若依框架---权限管理设计
997 0