最新下载
热门教程
- 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.
相关文章
- 抖音充值-官方充值入口-抖音家庭共享-账户充值入口 05-24
- 手机看电影下载什么软件最好-手机看电影软件下载推荐 05-24
- 火车票余票实时查询-火车票时刻表精准查询 05-24
- 少女前线蓝蝶契约体力恢复时间解析 少女前线蓝蝶契约体力每分钟恢复点数说明 05-24
- 蚂蚁庄园2026年5月6日最新题目答案 05-24
- pokicon免费游戏一键入口-pokicon免费游戏极速直达 05-24