当前位置:网站首页>Practice of RTC performance automation tool in memory optimization scenario
Practice of RTC performance automation tool in memory optimization scenario
2022-07-25 18:18:00 【InfoQ】
Background introduction
- Which modules consume how much memory ?
- How to optimize ?
The memory of
- Java Heap,from Java Code assigned objects ; During the call Java Memory distribution curve , It mainly presents jagged periodic changes . combination VolcRTC Business characteristics , You can know that this part of memory is mainly JNI Allocate temporary objects when calling , After accumulating to a certain extent, the system GC Mechanism recycling .

- Native Heap,from C or C++ Code assigned objects . This part is VolcRTC Main memory occupation .

- Code,For processing code and resources ( Such as dex Bytecode 、 Optimized or compiled dex Code 、.so Library and Fonts ) Of memory .VolcRTC Memory occupied by the Library , But it is not equal to the package size of the dynamic library , The main reason is that code segments are loaded on demand , So part of the code will not be loaded into memory .VolcRTC It's a dynamic library , therefore Code Memory is also a major part of the call process .

To optimize the direction
- Native Memory optimization
- Dynamic library enclosure optimization
Memory attribution analysis
- Memory allocation stack information
- Attribution by module
Heapprofd Realization principle
- hook malloc、calloc、realloc、free And other functions related to memory allocation
- Copy registers and stack memory , Stored in shared memory , For stack backtracking
- Cluster and generate according to stack information Trace file

Module attribution

__pthread_start(void*)
Problems encountered

Voice call memory analysis
Memory optimization
Compile optimization
Dynamic distribution on demand
- Reasonable code componentization , Abstract different functions into components to achieve flexible assembly and on-demand loading , Such as :AI The built-in data and models of noise reduction function will occupy a large memory space .
- Try to allocate memory dynamically on demand . Such as :AEC Echo cancellation has different algorithms in different scenes , You need to allocate memory as needed according to the actual scene , Reduce excessive memory pre allocation .
Set a reasonable cache size
Reasonable algorithm and data structure design
shortThe optimization effect
1v1 voice call
- Construct stable test cases
- Establish the data attribution model of performance impairment
- Identify hot performance issues based on attribution models , Form an optimization scheme
- from 1v1 Call start analysis , Then gradually to many people 、 Hundreds of people, thousands of people .
Join us
Reference documents :
边栏推荐
- BiSeNet v1
- List conversion problem
- Taishan Office Technology Lecture: conversion relations of inch, centimeter, pound, pika, Ti, line, word line and pixel
- 如何将exe文件添加到开机启动
- SQL things
- Imx6 rtl8189ftv migration
- Drawing PDF form (II) drawing excel form style in PDF through iText, setting Chinese font, watermark, logo, header and page number
- 基于Caffe ResNet-50网络实现图片分类(仅推理)的实验复现
- C语言 cJSON库的使用
- Connect to MySQL using sqldeveloper
猜你喜欢

工程师必看的示波器探头安全使用说明书

Thales launches solutions to help SAP customers control cloud data

大话DevOps监控,团队如何选择监控工具?

使用sqldeveloper连接mysql

电流探头在ECU、电气系统电流测量的应用

Detailed explanation of super full mavan label

Wu Enda's machine learning programming operation cannot be suspended pause problem solved

结合GHS MULTI使用瑞萨E1仿真器实现对瑞萨RH850单片机的仿真调试

Related operations of figure

云流化和云桌面有什么关系
随机推荐
Use of LCD screen of kendryte k210 on FreeRTOS
NC68 跳台阶
SQL optimizer parsing | youth training camp notes
Optimistic lock pessimistic lock applicable scenario
Three control methods of TestNG execution sequence
MySQL page lock
"Jargon" | what kind of experience is it to efficiently deliver games with Devops?
testng执行顺序的3中控制方法
List conversion problem
Good news! Ruiyun technology was awarded the member unit of 5g integrated application special committee of "sailing on the sea"
Why is the index in [mysql] database implemented by b+ tree? Is hash table / red black tree /b tree feasible?
The new version of 3dcat v2.1.3 has been released. You can't miss these three function updates!
二叉树的相关操作
CVE-2022-33891 Apache spark shell 命令注入漏洞复现
Drawing PDF form (II) drawing excel form style in PDF through iText, setting Chinese font, watermark, logo, header and page number
php内存管理机制与垃圾回收机制
C LINQ de Duplication & de duplication sum
这是一张机器&深度学习代码速查表
Keil5 "loading PDSC debug description failed for STMicroelectronics stm32hxxxxxxx" solution
想要做好软件测试,可以先了解AST、SCA和渗透测试