最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Performance Tips and Tricks in .NET Applications(五
时间:2022-07-02 11:28:28 编辑:袖梨 来源:一聚教程网
What You Can Do
At every phase of development, there are several things you can do. With MC++, the design phase is perhaps the most important area, as it will determine how much work you end up doing and how much performance you get in return. When you sit down to write or port an application, you should consider the following things: Identify areas where you use multiple inheritance, templates, or deterministic finalization. You will have to get rid of these, or else leave that part of your code in unmanaged space. Think about the cost of redesigning, and identify areas that can be ported. Locate performance hot spots, such as deep abstractions or virtual function calls across managed space. These will also require a design decision. Look for objects that have been specified as stack-managed. Make sure they can be converted into ValueTypes. Mark the others for conversion to heap-managed objects.
During the coding stage, you should be aware of the operations that are more expensive and the options you have in dealing with them. One of the nicest things about MC++ is that you come to grips with all the performance issues up front, before you start coding: this is helpful in paring down work later on. However, there are still some tweaks you can perform while you code and debug.
Determine which areas make heavy use of floating point arithmetic, multidimensional arrays or library functions. Which of these areas are performance critical? Use profilers to pick the fragments where the overhead is costing you most, and pick which option seems best: Keep the whole fragment in unmanaged space. Use static casts on the library accesses. Try tweaking boxing/unboxing behavior (explained later). Code your own structure.
At every phase of development, there are several things you can do. With MC++, the design phase is perhaps the most important area, as it will determine how much work you end up doing and how much performance you get in return. When you sit down to write or port an application, you should consider the following things: Identify areas where you use multiple inheritance, templates, or deterministic finalization. You will have to get rid of these, or else leave that part of your code in unmanaged space. Think about the cost of redesigning, and identify areas that can be ported. Locate performance hot spots, such as deep abstractions or virtual function calls across managed space. These will also require a design decision. Look for objects that have been specified as stack-managed. Make sure they can be converted into ValueTypes. Mark the others for conversion to heap-managed objects.
During the coding stage, you should be aware of the operations that are more expensive and the options you have in dealing with them. One of the nicest things about MC++ is that you come to grips with all the performance issues up front, before you start coding: this is helpful in paring down work later on. However, there are still some tweaks you can perform while you code and debug.
Determine which areas make heavy use of floating point arithmetic, multidimensional arrays or library functions. Which of these areas are performance critical? Use profilers to pick the fragments where the overhead is costing you most, and pick which option seems best: Keep the whole fragment in unmanaged space. Use static casts on the library accesses. Try tweaking boxing/unboxing behavior (explained later). Code your own structure.
相关文章
- deepseek在线体验-Deepseek极速平台 03-04
- 良心云游戏app免费版-高速安装直达官网秒玩登录 03-04
- 差差漫画登录页面更新-差差漫画网页登录弹窗优化 03-04
- picacg哔咔安装指南-详细使用教程 03-04
- picacg哔咔头像无法修改-哔咔头像更换失败解决指南 03-04
- 推特官网-twitter官网入口 03-04