上一页 1 ··· 7 8 9 10 11 12 下一页
摘要: tags工具介绍 一般来说,如果我们想要研究一个c/c++项目的源码,我们首先要做的是为该项目生成tags文件,tags文件种类有很多,比如 ctags、etags、cscope、gtags 等,有关他们的区别可以参考下面链接里的内容: https://github.com/oracle/openg 阅读全文
posted @ 2021-04-21 09:43 zephyr~ 阅读(1009) 评论(0) 推荐(0)
摘要: 性能优化分为宏观和微观两个层面。宏观层面包括业务架构的重构和创新。微观层面包括算法优化、编译优化、工具分析、高性能编码,独立于具体业务逻辑,有广泛的适应性,更易于实施。 能不做的尽量不做,必须做的高性做,是性能优化的两个meta rule。提升处理能力和降低计算量是性能优化的两个方向。 微观上从减少 阅读全文
posted @ 2021-01-06 17:29 zephyr~ 阅读(291) 评论(0) 推荐(0)
摘要: cpufreq概述 cpufreq的核心功能,是通过调整CPU的电压和频率,来兼顾系统的性能和功耗。在不需要高性能时,降低电压和频率,以降低功耗;在需要高性能时,提高电压和频率,以提高性能。 cpufreq软件框架 对下,cpufreq基于clock、regulator、pmu等模块实现频率和电压的 阅读全文
posted @ 2020-11-02 20:48 zephyr~ 阅读(4115) 评论(0) 推荐(0)
摘要: Memory ordering 为了提高指令执行速度,最新的arm处理器不再one bye one的执行指令,采取了一系列的措施来提高指令执行速度,包括重排序指令、存储访问方式(cache/buffer)。如下图是程序指令和实际ARM中可能的指令执行顺序: 存储类型 ARM有两种存储类型normal 阅读全文
posted @ 2020-10-22 17:14 zephyr~ 阅读(290) 评论(0) 推荐(0)
摘要: 为什么需要cache 我们应该知道程序是运行在 RAM之中,RAM 就是我们常说的DDR(例如: DDR3、DDR4等)。我们称之为main memory(主存)。当我们需要运行一个进程的时候,首先会从磁盘设备(例如,eMMC、UFS、SSD等)中将可执行程序load到主存中,然后开始执行。在CPU 阅读全文
posted @ 2020-10-18 23:10 zephyr~ 阅读(4451) 评论(0) 推荐(0)
摘要: 本文转载:https://www.kancloud.cn/kancloud/a-programmer-prepares/78238 找工作前需要思考的问题 如果真的到了换工作的时候,肯定不是一天两天才做的决定。所以当你打算换工作之前,不妨先思考一些问题。 为什么辞职 先想想自己在当前的发展环境下发展 阅读全文
posted @ 2020-10-01 16:58 zephyr~ 阅读(170) 评论(0) 推荐(0)
摘要: 这本书能学到什么 本书基本信息:https://book.douban.com/subject/3652388/ 介绍程序基本运行过程的一本书。一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态 阅读全文
posted @ 2020-09-03 21:59 zephyr~ 阅读(407) 评论(0) 推荐(0)
摘要: 前置知识 临界区:通常指某个代码片段,在该代码片段会访问共享资源,比如共享数据、共享硬件资源(打印机、IO)。串行使用共享资源,才能保证正确的输出结果,因此一个进程要等待另一个进程使用完后才能使用。 进程上下文和中断上下文:进程上下文包括:CPU所有寄存器中的值、进程的状态以及堆栈上的内容,当内核需 阅读全文
posted @ 2020-09-01 20:24 zephyr~ 阅读(1415) 评论(0) 推荐(0)
摘要: Hz Linux内核每隔固定周期都会产生一个timer中断,Hz表示系统在1s中发生中断的次数,如果Hz等于100,则系统在1s中会有100次中断。 32位arm定义文件: 64位arm定义文件: jiffies 全局变量jiffies用于记录自系统启动后产生timer中断的总数。一秒钟产生时钟中断 阅读全文
posted @ 2020-08-18 21:55 zephyr~ 阅读(2907) 评论(0) 推荐(0)
摘要: ## 系统 - `uname -a` #查看内核/操作系统/CPU信息 - `cat /proc/cpuinfo` # 查看CPU信息 - `lscpu` # 查看CPU信息 - `env` # 查看环境变量 - `cat /boot/config-xxx` # 查看kernel Kconfig配置 阅读全文
posted @ 2020-06-27 22:18 zephyr~ 阅读(899) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 下一页