问题标签 [pgo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
68 浏览

visual-c++ - 我应该在哪里存储 PGO 数据库文件?

我一直在研究在 Visual C++ 2013 中使用Profile Guided Optimization。我很高兴使用不同的场景作为手动步骤执行训练集,但希望最终优化的构建和链接可以在我们的 CI 构建服务器上工作。

考虑到这一点,我存储 PGO 配置文件数据库的最佳位置在哪里?将它们存储到版本控制(在我们的例子中是 Git)是最方便的地方,但我知道它们是数十甚至可能数百兆字节的二进制文件,而且这些文件不一定能很好地存储在源文件中控制系统。

或者,是否有更好的解决方案或最佳实践将 PGO 集成到我们的自动化构建中?

0 投票
0 回答
107 浏览

android - Clang 配置文件引导优化是否适用于 Android 应用程序

Clang 配置文件引导式优化是否适用于具有本机库的 Android 应用程序?我按照此处给出的步骤操作,我能够检测本机库,但在运行我的应用程序时没有生成 .profraw 文件。

关联

0 投票
0 回答
160 浏览

java - 在 PGPPublicKeyRing 预期的位置找到 GPEncryptedDataList

我正在用我已经拥有的公钥加密一个文本文件,我有一个基本上从输入流中读取公钥的方法,同时在下一行创建一个对象时我遇到了异常

这是几个小时前的工作,突然停止工作,没有改变代码中的任何内容。现在,以下是我得到的例外

以前有人遇到过这种错误吗?感谢对此的任何帮助

0 投票
0 回答
259 浏览

visual-studio - Visual Studio 忽略 CMake 链接器标志以进行配置文件引导优化

我有一个C++项目,CMake它在Visual Studio 2017 Enterprise. 根据文档,我必须使用/LTCG和链接/GENPROFILE。在CMake中,这似乎等同于设置变量CMAKE_EXE_LINKER_FLAGS

此外,由于我的应用程序需要命令行参数,因此我必须launch.vs.json在 this answer中定义它们。

现在,如果我运行应用程序的x64-Release配置文件,它会以正常、无延迟的Release构建方式成功完成。没有.pgd生成,这意味着我传递的链接器标志可能已被忽略。

另一种尝试是添加额外的CMake链接器标志变量:

这也没有奏效。之后指定/USEPROFILE不会生成不同的二进制文件。此外,运行时间大致相同。命令行上也没有指示已生成或使用配置文件。

我在这里做错了什么?

0 投票
1 回答
246 浏览

c++ - 配置文件引导优化 - __gcov

我正在尝试使用-fprofile-generate标志对我的代码运行配置文件引导优化。当我用它编译时,我收到以下错误。

obj\Debug\main.o||In function ZNSt10_HashtableIiSt4pairIKiiESaIS2_ENSt8__detail10_Select1stESt8equal_toIiESt4hashIiENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE5clearEv':| c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1937|undefined reference to __gcov_indirect_call_profiler_v2'| c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1937|undefined reference to __gcov_indirect_call_callee'| c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1937|undefined reference to __gcov_time_profiler'| c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1942|undefined reference to __gcov_one_value_profiler'| c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1942|undefined reference to __gcov_average_profiler'| c:\program files (x86)\gfortran\lib\gcc\mingw32\4.10.0\include\c++\bits\hashtable.h|1942|undefined reference to __gcov_ior_profiler'|

中还有其他错误消息,但所有这些都与__gcov

我无法在网上找到任何关于此的内容。有人可以帮忙吗?我在 Windows 上使用 g++ 8.1.0 并使用-march=native,-std=c++14-ffast-math标志。-fprofile-generate该程序在没有标志的情况下完全符合并运行良好。

0 投票
1 回答
123 浏览

vs-community-edition - Visual Studio 2019 社区版中是否提供 PGO(配置文件引导优化)工具?

根据这个演示,当右键单击带有子选项“仪器”、“更新”、“优化”和“运行”的项目时,应该有一个额外的上下文菜单项。

在社区版中,我看不到这些选项。

是否有我应该在安装程序中启用的特定选项,或者这个功能在社区版中根本不可用?

我在比较图表中找不到任何关于 PGO 的信息。

0 投票
1 回答
110 浏览

windows - 添加 /GENPROFILE 标志后无法打开文件“pgort.llib”

我正在尝试按照此处的说明为我的项目添加 PGO。添加/GENPROFILE标志后,我开始收到链接错误:

在调试了一下之后,我认为问题在于我的库目录(在VC++ 目录选项卡下找到)的值$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64)是:

看起来.\spectre\x64路径没有pgort.lib库,但非幽灵路径有:

我该怎么做才能解决这个问题?我很难相信,如果我使用幽灵二进制文件(我什至不确定我是如何/为什么首先使用它)我无法优化我的项目。

顺便说一句,我在安装了 Enterprise VS 的机器上试过这个,结果是一样的。所以这不是特定于社区版的。

0 投票
0 回答
66 浏览

llvm - 如何将 -pgo-instr-gen 参数与 llvm opt 一起使用

我想测试PGOwith llvm,我发现互联网上的大部分教程都使用clangwith 参数-fprofile-instr-use来启用PGO检测。但是,我拥有的是一个llvm位码文件而不是源代码,我想应用于PGO这些位码文件。我注意到该opt工具有论点-pgo-instr-gen

但是,在我将它应用到我的位码之后,例如:

然后尝试运行output.llwith lli,我遇到了分段错误。那么,PGO在这种情况下启用的正确方法是什么?

0 投票
1 回答
751 浏览

postgresql - 如何在 crunchydata postgres 运算符中使用 nfs 存储

我正在尝试使用NFS Helm图表的 CrunchyData postgres-operator(Helm)。而且我无法使用 NFS 创建集群。执行以下配置:

安装NFS helm chart Repo

设置 postgres 存储值Doc

设置存储配置文档

创建 PGO 集群

PVC描述:

豆荚描述:

我是否错过了一些配置或做错了什么?我的目的是使用 NFS 作为 postgres 存储。任何帮助将不胜感激。

0 投票
0 回答
30 浏览

gcc - Autofdo 是否支持 -fprofile-reorder-functions?

Autofdo 允许收集比使用时更准确的配置文件数据,-fprofile-generate但它-fauto-profile不像-fprofile-use.

这是否意味着它仅适用于-fprofile-use