结构数组初始化时Visual Studio 2015性能下降 [英] Visual Studio 2015 performance degradation with structure array initialization

查看:54
本文介绍了结构数组初始化时Visual Studio 2015性能下降的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,

我有一个测试用例,我看到编译过程中性能下降(与VS2012相比)和VS2013)当测试用例涉及结构数组的大型结构的初始化时。

I've a test case where I see a performance degradation during compilation(as compared to to VS2012 and VS2013) when a test case involves initialization of a large structure of structure arrays.

我的程序如下所示:

typedef signed char int8_T;

typedef short int16_T;

typedef int int32_T;

typedef signed char int8_T;
typedef short int16_T;
typedef int int32_T;

typedef struct {

  int32_T d;

  int32_T e;

} a;



typedef struct {

  int16_T f;

  int16_T g;

} b;



typedef struct {

  int8_T h;

  int8_T i;

} c;

typedef struct {
  int32_T d;
  int32_T e;
} a;

typedef struct {
  int16_T f;
  int16_T g;
} b;

typedef struct {
  int8_T h;
  int8_T i;
} c;

typedef struct {

typedef struct {

一个struct_array1 [45003];

a struct_array1[45003];

一个struct_array2 [45003];

a struct_array2[45003];

..... / *多个结构数组a,b, c * /

...../*Multiple structure arrays of type a,b,c*/

} Parent_struct;

} Parent_struct;

const Parent_struct p = {

const Parent_struct p= {

{{ - 123456,87653},{26933323,-8972426}} 

{{-123456,87653}, { 26933323, -8972426 }} 

/ *多了* /

}

用于编译测试用例的选项:cl -c test.c

Option used to compile the test case : cl -c test.c

当我用不同的编译器计算上面测试用例的编译时间,这就是我发现的:

When I timed the compilation time of above test case with different compilers , this is what I find :

编译器版本 拍摄时间

Visual Studio 2012 ~9s

Visual Studio 2013 ~9s

Visual Studio 2015 ~19s

Visual Studio 2017 ~30s

Compiler Version Time Taken
Visual Studio 2012 ~ 9s
Visual Studio 2013 ~ 9s
Visual Studio 2015 ~ 19s
Visual Studio 2017 ~ 30s

从上面可以看出,与VS2012和VS2013相比,rmance非常低。

As you can see from the above , the performance is very low compared to VS2012 and VS2013.

有人可以建议解决方案或解决方法以克服回归吗?

Can anybody please suggest a solution or a workaround to overcome the regression ?

感谢任何帮助。

谢谢。

推荐答案

您好Veena L,

Hi Veena L,

欢迎来到MSDN论坛。

Welcome to MSDN forum.

为了在Visual Studio 2017/2015中获得更好的性能,可以应用某种性能调整,如下所示:


  1. 在工具
    下设置当前源控件
    ... 为None 选项
    源代码管理。
  2. 取消选中工具下的同步设置选项 选项
    环境
    同步设置。
  3. 禁用CodeLens (可选):取消选中工具
    下的启用CodeLens选项
    选项
    文本编辑器 所有语言。
  4. 禁用诊断工具(可选):取消选中工具$ b $下的调试时启用诊断工具选项b 选项
    调试 一般。
  5. 清理内容以下文件夹(不要删除这些文件夹,而只是删除它们的内容)并重新启动Visual Studio:

    • C:\ Users \<您的用户名称> ; \ AppData \本地\ Microsoft /\\VisualStudio \\ 14.0
    • C:\Users \<您的用户名> \ AppData \ Rooaming \ Microsoft's\VisualStudio \ 14.0
  1. Set Current source control to None under Tools Options Source Control.
  2. Uncheck Synchronized settings across ... option under Tools Options Environment Synchronized Settings.
  3. Disable CodeLens (Optional): Uncheck Enable CodeLens option under Tools Options Text Editor All Languages.
  4. Disable Diagnostic Tools (Optional): Uncheck Enable Diagnostic Tools while debugging option under Tools Options Debugging General.
  5. Clean the contents in the following folders (do not delete these folders, instead delete their contents only) and restart Visual Studio:
    • C:\Users\<your users name>\AppData\Local\Microsoft\VisualStudio\14.0
    • C:\Users\<your users name>\AppData\Roaming\Microsoft\VisualStudio\14.0

祝你好运,

Joyce


这篇关于结构数组初始化时Visual Studio 2015性能下降的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆