- 博客(85)
- 资源 (1)
- 收藏
- 关注
原创 深入理解sysbench工具
它主要包括以下几种方式的测试:1、cpu性能2、磁盘io性能3、调度程序性能4、内存分配及传输速度5、POSIX线程性能6、数据库性能(OLTP基准测试)目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库。
2024-01-26 17:32:09 2272 3
原创 深入理解stress/stress-ng
stress是一种工作负载生成器工具,主要用于系统CPU、内存、I/O 和磁盘压力的可配置测量。stress-ng是压力工作负载生成器工具的更新版本。
2024-01-25 18:00:33 3375
原创 深入理解stressapptest
stressapptest是一款免费的开源软件,支持用于测试Linux系统的稳定性和可靠性。它可以利用多个CPU/Core,甚至可以访问主内存的所有部分来测试系统的稳定性,以此推断系统是否存在内存泄漏或其他性能方面的问题。stressapptest的主要目标是发现难以重现的系统稳定性问题和其他体现在Java虚拟机、KVM Hypervisor和Hadoop集群等普通用例中的Linux系统中的性能问题。它还包括多个测试模式和选项以支持不同测试场景,比如随机测试、循环测试、全内存测试、持续测试等。
2024-01-24 17:08:03 4433
原创 深入理解Rust函数
1、函数名和变量名使用蛇形命名法(snake case),例如 fn add_two() -> {}。2、函数的位置可以随便放,Rust 不关心我们在哪里定义了函数,只要有定义即可。3、每个函数参数都需要标注类型。
2024-01-22 13:06:08 1400 4
原创 深入理解Rust语句和表达式
/ 语句// 语句x + y // 表达式语句会执行一些操作但是不会返回一个值,而表达式会在求值后返回一个值,因此在上述函数体的三行代码中,前两行是语句,最后一行是表达式。
2024-01-22 12:58:58 1020
原创 深入理解Rust所有权机制
所有的程序都必须和计算机内存打交道,如何从内存中申请空间来存放程序的运行内容,如何在不需要的时候释放这些空间,成了重中之重,也是所有编程语言设计的难点之一。
2024-01-20 10:55:07 1106 2
原创 深入理解Rust基本类型
Rust基本类型有如下几种:1、数值类型: 有符号整数 (i8, i16, i32, i64, isize)、 无符号整数 (u8, u16, u32, u64, usize) 、浮点数 (f32, f64)、以及有理数、复数。2、字符串:字符串字面量和字符串切片 &str。3、布尔类型: true和false。4、字符类型: 表示单个 Unicode 字符,存储为 4 个字节。5、单元类型: 即 () ,其唯一的值也是 ()。
2024-01-19 14:32:35 1469
原创 深入理解Rust变量绑定与解构
这和 mut 变量的使用是不同的,第二个 let 生成了完全不同的新变量,两个变量只是恰好拥有同样的名称,涉及一次内存对象的再分配 ,而 mut 声明的变量,可以修改同一个内存地址上的值,并不会发生内存对象的再分配,性能要更好。常量可以在任意作用域内声明,包括全局作用域,在声明的作用域内,常量在程序运行的整个过程中都有效。变量遮蔽的用处在于,如果你在某个作用域内无需再使用之前的变量(在被遮蔽后,无法再访问到之前的同名变量),就可以重复的使用变量名字,而不用绞尽脑汁去想更多的名字。
2024-01-19 10:17:40 972 3
原创 Android Launcher3各启动场景源码分析
Launcher3是Android系统提供的默认桌面应用(Launcher),它的源码路径在**“packages/apps/Launcher3/”**。Launcher3的启动场景主要包括:1、开机后启动:开机时,android ams服务拉起Launcher。2、按键启动:比如短压home键,android wms中的PhoneWindowManager拉起Launcher。3、异常崩溃后启动:Launcher异常崩溃后,android ams再次拉起Launcher。
2024-01-18 10:32:01 2069
原创 Android SystemUI梳理
在Android系统中SystemUI是一个系统级的APP,它提供了系统的用户界面,由system_server进程启动。SystemUI本身不属于system_server进程,它是一个独立的进程。它的HMI包括了状态栏、导航栏、通知栏、锁屏、近期任务等等。SystemServer是一个由Zogyte进程启动的程序,它负责启动和管理Android系统中的各种核心服务。
2024-01-18 10:07:02 2921
原创 Android CarService源码分析
Android Automative是在原先Android的系统架构上增加了一些与车相关的(图中虚线框中绿色背景的)模块。
2024-01-17 17:56:26 1379
原创 FFmpeg之PostProc
FFmpeg中的postproc库是一个视频后处理库,用于应用各种图像处理滤镜和算法来改善和优化视频质量。postproc库提供了一些常见的视频后处理滤镜,例如去隔行滤波、去噪滤波、锐化滤波等,可以用于增强视频的清晰度、减少噪点和伪影等。在早期版本的 FFmpeg 中,postproc 库是默认启用的,可以通过命令行选项 -postproc 来应用后处理滤镜。
2024-01-17 17:15:08 1227
原创 FFmpeg之SWScale
Libswscale里面实现了各种图像像素格式的转换,例如YUV与RGB之间的转换;以及图像大小缩放(例如640x360拉伸为1280x720)功能。而且libswscale还做了相应指令集的优化,因此它的转换效率比自己写的C语言的转换效率高很多。
2024-01-16 16:00:19 1092 6
原创 FFmpeg之SwrRessample
音频应用有时遇到44.1kHz/48KHz/32kHz/16kHz以及8kHz之间互相转换,这一过程称为SRC(sample rate converter),产品上有用codec芯片硬件实现SRC功能,有用软件实现SRC。采样率转换的基本思想是抽取和内插,从信号角度看音频重采样就是滤波。滤波函数的窗口大小以及插值函数一旦被确定,其重采样的性能也就确定了。抽取可能引起频谱混叠,而内插会产生镜频分量。
2024-01-16 15:41:44 1131 2
原创 FFmpeg之AVFormat
avformat中实现了目前多媒体领域中的几乎所有封装格式,可以封装,可以解封装(也叫解复用),根据需求不同,所支持的也有所不同,ffmpeg能否支持一种封装格式的视频的封装与解封装,完全取决于这个库,例如mp4、flv、mkv等容器的封装与解封装;又或者RTMP、RTSP、TCP、UDP等协议的封装与解封装;关于封装与解封装的操作,对CPU的消耗不会特别严重,因为封装与解封装不涉及到复杂的计算,更多的是I/O,如果希望增加自己定制的封装格式的话,中增加自己的对应的format模块。
2024-01-15 17:46:19 1407 4
原创 FFmpeg之AVFilter
FFMPEG 除了具有强大的封装/解封装,编/解码功能之外,还包含了一个非常强大的组件,滤镜avfilter。avfilter 组件常用于多媒体处理与编辑,ffmpeg 包含多种滤镜,比如旋转,加水印,多宫格等等。一个filter的输出可以作为另一个filter的输入,因此多个filter可以组织成为一个网状的filter graph,从而实现更加复杂或者综合的任务。关于 filter 的概念和用法可以去查找 FFmpeg 的其他资料,这里不再赘述。
2024-01-15 17:05:17 1311
原创 FFmpeg架构全面分析
它的官网为:,由Fabrice Bellard(法国著名程序员Born in 1972)于2000年发起创建的开源项目。该人是个牛人,在很多领域都有很大的贡献。FFmpeg是多媒体领域的万能工具。只要涉及音视频领域的处理,基本上没有它做不了的事情!通俗点讲,从视频录制、视频编辑再到播放,它都能做!最近比较火的抖音,还有国内的一些视频点播厂商,像爱奇艺、腾讯视频、优酷视频,还有播放器,像QQ影音、暴风影音等,都离不开它!否则非常痛苦!为什么呢?
2023-06-26 17:05:16 2364 27
原创 Orin-X 安装Ros1
在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3709999a45b14509be9fb2500f717dfe.jpeg。将如下内容替换到/etc/apt/sources.list文件。
2024-09-12 12:09:16 574 2
原创 数据结构学习之数据结构绪论
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。我的理解,数据结构就是数据和数据之间的关系,研究他们之间的逻辑关系,不同的的环境用不同的逻辑对数据进行收发、存储等等操作,争取最优解的一门知识。数据结构是相互之间存在一种或多种特定关系的数据元素的集合,从不同角度讨论会有不同的分类,如按逻辑结构分类有集合结构,线性结构,树形结构和图形结构;
2023-05-06 17:28:02 1718 29
原创 Android13源码下载及全编译流程
学习Android必须要用一份Android源码,本章我们来讲一下如何获取Android源码并进行全编译。
2022-12-12 16:07:35 21186 32
原创 嵌入式开发学习之--串口通讯(上)
串口通讯,相对简单地通讯方式,广泛应用在各种各样的设备中,依赖于串口的通讯协议也是一大把。所以必须学会如何操作配置。
2022-12-10 19:08:05 1655 10
Linux学习路线详细介绍
2023-01-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人