当前位置: 首页 > news >正文

16、构建与GNU Make的实用技巧与算术实现

构建与GNU Make的实用技巧与算术实现

在软件开发过程中,构建系统和GNU Make的运用常常会遇到各种问题与挑战,同时,借助GNU Make实现一些特殊功能也有其独特的方法。下面将详细介绍构建过程中的处理器使用、文件搜索、Makefile定位以及在GNU Make中实现算术运算和计算器的相关内容。

1. 处理器数量与构建加速

在小型构建任务中,处理器数量与最大加速比存在一定关系。以下是不同处理器数量对应的最大加速比:
| 处理器数量 | 最大加速比 |
| — | — |
| 10 | 2.46x |
| 11 | 2.50x |
| 12 | 2.53x |

根据阿姆达尔定律预测,对于这个小型构建,大约从8个处理器开始,最大加速比会趋于平稳。而实际的平稳状态还受限于构建中只有13个可能的任务这一事实。

从构建结构来看,最多使用8个处理器是合理的。原因如下:有5个任务(t1、t2、t4、t6和t7)可以无依赖地并行运行;另外有3个小任务链,分别是t3、t5和t8,t9和t10,t11和t12,每个任务链每次使用1个处理器;构建任务t可以复用8个处理器中的一个,因为此时它们都处于空闲状态。

在实际应用中,像C和C++这类有链接步骤的语言,阿姆达尔定律对构建时间的影响尤为显著。通常,所有目标文件在链接步骤之前构建完成,然后需要运行一个单独(通常很大)的链接进程。这个链接进程往往无法并行化,从而成为构建并行化的限制因素。

2. 让$(wildcard)函数递归搜索

GNU Make的内置$(wildcard)

http://www.cnnetsun.cn/news/127281.html

相关文章:

  • Kotaemon能否自动识别问题紧急程度?
  • 复杂时序场景的突围:金仓数据库是凭借什么超越InfluxDB?
  • 特价股票投资中的跨境投资策略与风险管理
  • 为分析经理制定全面的仪表板策略
  • MATLAB实现神经网络的模式识别
  • 17、在 Linux 系统中运行 Windows 程序及优化工作流
  • Kotaemon索引构建优化:FAISS vs HNSW性能对比
  • Kotaemon在低资源环境下的轻量化改造方案
  • 16、企业 Linux 桌面迁移与后台基础设施搭建指南
  • 19、数据迁移与备份:从 Windows 到 Linux 的全面指南
  • Kotaemon销售谈判策略建议:促成交易技巧
  • 特征工程中的特征构造技巧:大数据分析的创新实践
  • 32、Linux在不同场景下的应用优势与案例分析
  • 26、深入了解GNU Lesser General Public License
  • Hive实战任务 - 9.2 统计总分与平均分
  • Hive实战任务 - 9.3 实现学生信息排序和统计
  • 1、深入解析 Windows 2000 终端服务与 Citrix MetaFrame 配置
  • 10个降AI率工具推荐,本科生高效降AIGC指南
  • 8个降AI率工具推荐,本科生高效避坑指南
  • 10 个高效降AI率工具,继续教育学生必备!
  • 19、Windows 应用数据管理全解析
  • Kotaemon税务咨询助手知识图谱构建
  • linux下执行pg数据的sql文件,报错error:permission denied for schema plat
  • Kotaemon能否识别图片中的文字并进行问答?
  • Kotaemon能否支持PDF/PPT等格式直接解析?
  • Android模糊效果终极指南:BlurView库完整教程与性能优化
  • 11、量子计算编程入门:从IBM Q Experience到QISKit
  • VTracer图像矢量化工具:5分钟从新手到专家的完整指南
  • 理想运算放大电路
  • XLeRobot YOLO视觉控制终极指南:3分钟实现机器人智能识别