OpenCASCADE编码规范-内存对齐

OpenCASCADE编码规范-内存对齐

eryar@163.com

 

在OpenCASCADE 的编码规范Coding Rules中提到了一条与性能相关的规范,那就是类的内存对齐要求,特别是intel的机器。

对应的编码的要求就是每个类的成员变量按字节大小降序排列,如下图所示:

做出这样的要求是有原因的,一个好处是会节约内存资源,使内存更紧凑;另一个是会提高CPU的内存访问速度。从而提高性能。

大家可以通过实践来验证这个内存对齐的要求,可以参考:C++ struct结构体内存对齐https://www.cnblogs.com/hyacinthLJP/p/16041690.html

Struct members order does make a differencehttp://katecpp.github.io/struct-members-order/

通过自己实践去理解这条编码规则,即同一个类,只是成员变量定义顺序不同,会导致这个类的内存不同。并在自己实际编码过程中去执行这个要求:最好将类的成员变量根据字节大小按顺序定义。这样做在定义类的时候会麻烦一点,但是会有性能提升的回报。

这条编码规范不是针对OpenCASCADE的,是C++的程序都可以按这个要求来写代码。

posted @ 2022-03-23 09:37  opencascade  阅读(202)  评论(0编辑  收藏  举报