当前位置:网站首页>Performance improvement at the cost of other components is not good
Performance improvement at the cost of other components is not good
2022-06-29 19:34:00 【Topomeyer - long development road】
In the development of operating system , We must have an overall view of the system performance . The goal of the system designer is : Make the whole system run faster , At the same time, a certain balance is achieved in the running speed of each application .
On the other hand , Applications tend to take a selfish view of performance :” I will try my best to run faster . The impact on the rest of the system is not my concern .”
Some applications put themselves in the boot group , For faster loading . This doesn't really make the system run faster . It is only in the stage of transfer and startup . By putting some application startup costs into operating system startup , Although the time between the user double clicking the application icon and the application being ready to run is reduced , But the total time has not changed .
for example , Consider the following time chart . “*” Mark the time when the user turns on the computer ,”+” Mark the point in time when the Explorer is ready and the user double clicks the application icon ,”!” Mark the point in time when the application is ready .

Then the application developer says :“ Oh my god , The pink one ‘ Application startup ’ Part is very large . What can we do to make it smaller ? That's true. , Let's split the application startup into two parts ……

And put some of them in Startup In the group .

“ wow , see , The size of the pink bar ( Represents the time required for our application to be ready after the user double clicks the icon ) It's much shorter now !” The team then puts this new, shorter value into their performance status report , Everyone gets a raise , Maybe they go to have a big dinner to celebrate .
Of course , Take a look at the whole situation , From the asterisk to the exclamation point , Nothing has changed . It still takes the same amount of time for the application to be ready from a cold start . All these performance improvements are just robbing Peter to pay Paul . perform “ Application startup 1” The time spent is now counted in the operating system and not in the application . You're messing around with numbers , But end users get nothing .
For the chart above , Suppose the user wants to run your application ! If the user doesn't want to run your application , I just want to check their email , Then they will be “ Application startup 1” pay , Even if they don't get any benefit .
Another example of an application that has a selfish view of performance comes from a company that develops icon overlay handlers (icon overlay handler) The company . The shell treats the coverage calculation as a low priority item , Because it is more important to display icons on the screen , So users can start doing whatever they want .
The company wants to know if there is a way to improve their performance , Overlay the icon on the screen even before it appears , Show right “ performance ” A very selfish explanation of .
Performance is about getting users to complete their tasks faster . If the task does not involve running your program , So your “ Performance improvements ” It's really a performance barrier . I believe your program is very good , But if you expect everyone who installs your program to think it should take precedence over what they do , That is quite presumptuous .
summary
Or that sentence : people oriented , user-centric .
Before we mess around with the code , Let's put ourselves in another position : If I am a user of this software , What do I feel ? Can you swear at your mother ?
Do not drill into the tip of a technical bull's horn !
Last
Raymond Chen Of 《The Old New Thing》 It's one of my favorite blogs , There's a lot about Windows Little knowledge , For the vast Windows For platform developers , It's really helpful .
This article is from :《Performance gains at the cost of other components》

边栏推荐
- How to install and use computer SSD hard disk
- Lingyun going to sea | Wenhua online &huawei cloud: creating a new solution for smart teaching in Africa
- 【网络方向实训】-企业园区网络设计-【Had Done】
- 一小时构建示例场景 声网发布灵隼物联网云平台
- Go: how to write a correct UDP server
- JVM (3) class loading
- php实现 提取不重复的整数(编程题目能够最快的熟悉函数)
- After CDN is added to the website, the Font Icon reports an error access control allow origin
- Flutter 调用百度地图APP实现位置搜索、路线规划
- 测试方法学习
猜你喜欢

Advanced features of selenium webdriver

Game Maker 基金会呈献:归属之谷

Canonical的工程师们正努力解决Firefox Snap的性能问题

What if the win11 policy service is disabled? Solution to disabling win11 policy service

AI场景存储优化:云知声超算平台基于 JuiceFS 的存储实践

The sales volume could not catch up with the speed of taking money. Weima went to Hong Kong for emergency rescue

npm ERR! fatal: early EOF npm ERR! fatal: index-pack failed

Exploration and practice of NLP problem modeling scheme

Element waiting mechanism

SQL Server Backup and restore command operations
随机推荐
2022年理财利率都降了,那该如何选择理财产品?
mysql远程连接
Connaissance générale des paramètres de sécurité du serveur Cloud
Common knowledge of ECS security settings
DAO 中存在的不足和优化方案
With these four security testing tools, software security testing can be said so easy!
@Sneakythlows annotation
炒股用同花顺开户交易安全吗?
k线图经典图解(收藏版)
How important is it to make a silver K-line chart?
nacos 问题
In 2022, the financial interest rate has dropped, so how to choose financial products?
AI scene Storage Optimization: yunzhisheng supercomputing platform storage practice based on juicefs
Win11 system component cannot be opened? Win11 system widget cannot be opened solution
[笔记]再笔记--边干边学Verilog HDL –008
1404萬!四川省人社廳關系型數據庫及中間件軟件系統昇級采購招標!
揭秘!付费会员制下的那些小心机!
誰在抖音文玩裏趁亂打劫?
3-3主机发现-四层发现
Advanced features of selenium webdriver