链接花费一个多小时和一半 - 我如何减少链接器时间?

时间:2014-05-16 02:21:09

标签: c++ visual-studio visual-c++ visual-studio-2012 linker

我有一个C ++ 11 Visual Studio 2012项目,它在启动时创建了许多项目,用于处理实时到达的对象。最初我创建了600个项目但是我将其增加到6000个。因此,链接器时间增加了(可能是线性的)。

我有这个代码重复6000次(每个对象一个):

boost::shared_ptr<MyClass> x1 = boost::make_shared<MyClass>("a", b, c);
x1->addSomething(an_object_shared_across_all_6000);
another_object_shared_across_all_6000->addObject(x1);
an_unordered_map[x1->getSomething()] = x1;

// x2 etc
// x3 etc
// .
// .

当我使用MSVC 2012进行编译时,我不得不创建六个函数,每个函数创建1000个上述对象(因为MSVC会抛出一个编译器错误,说我已达到最大值)。

我已将我的发布模式链接设置为增量。

我还能做些什么来显着加快链接过程吗?我的意思是当构建窗口显示“代码生成”时。

我有权访问VS2013-不确定是否应该更快?

更新 - 上述项目存储在一个迅猛龙硬盘上。我刚刚将项目移至SSD,重新运行并连接了9分钟。这有道理吗??

0 个答案:

没有答案