Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ VSCode编译速度较慢的C++;即使我';我使用相同的命令行脚本_C++_Performance_Visual Studio Code_Compiled - Fatal编程技术网

C++ VSCode编译速度较慢的C++;即使我';我使用相同的命令行脚本

C++ VSCode编译速度较慢的C++;即使我';我使用相同的命令行脚本,c++,performance,visual-studio-code,compiled,C++,Performance,Visual Studio Code,Compiled,从命令行shell脚本编译的C++代码运行速度比使用任务中的相同shell脚本时快得多:在VSCode中运行。我在脚本中成功地尝试了echo命令,以确保VSCode运行的脚本与我在命令行中使用的脚本相同 我知道.json文件中有编译器设置,但我不知道如何添加-O3优化开关,而且由于VSCode运行的脚本与我在命令行中使用的脚本相同,我不明白为什么会有所不同。 我在一台新的M1 Mac电脑上,下面是我的脚本:clang++-std=c++17-O3-o$1$1.cpp&$1 VSCode生成的速度

从命令行shell脚本编译的C++代码运行速度比使用任务中的相同shell脚本时快得多:在VSCode中运行。我在脚本中成功地尝试了echo命令,以确保VSCode运行的脚本与我在命令行中使用的脚本相同

我知道.json文件中有编译器设置,但我不知道如何添加-O3优化开关,而且由于VSCode运行的脚本与我在命令行中使用的脚本相同,我不明白为什么会有所不同。 我在一台新的M1 Mac电脑上,下面是我的脚本:
clang++-std=c++17-O3-o$1$1.cpp&$1

VSCode生成的速度介于-O3选项和无优化之间。奇怪的
起初我认为它可能是VSCode中的终端,但如果我在外部命令行执行它,代码运行的速度也一样慢,所以不是这样。

我找到了答案。事实证明,这是因为VSC还不是苹果的原生硅,而我使用的是M1 Mac。我在VSC内部所做的任何事情,甚至终端窗口,都迫使结果是x86_64代码,这比我在VSC外部编译的arm64代码慢4倍。我想需要等待本机版本。

我找到了答案。事实证明,这是因为VSC还不是苹果的原生硅,而我使用的是M1 Mac。我在VSC内部所做的任何事情,甚至终端窗口,都迫使结果是x86_64代码,这比我在VSC外部编译的arm64代码慢4倍。我想需要等待本机版本。

我知道这很混乱。我搜索了很多,只能找到VSC本身运行缓慢的地方。它不会影响以后编译的代码。我试着想象一下,从VSC内部执行命令行脚本如何能够得到与在命令行执行同一脚本不同的结果。很明显,VSC在某种程度上参与其中。我只是能找到一些想法,所以这不是编译时速度的问题。这是生成代码的速度。最终的程序运行速度慢了五倍。无论哪种方式,编译时间都只有几秒钟。“我知道这很混乱。”——你说的“它”是指情况还是你对它的描述?就我个人而言,我觉得你的描述有点杂乱无章,没有重点,很难理解。有点像你在没有介绍的情况下就跳进了你的思想中间。(可能只是我)我以为你在问一个编译时问题,这意味着构建代码需要5分钟而不是3分钟。您可能可以通过编辑
tasks.json
来启用优化经过大量的实验和挖掘,我得到了答案:VSCode环境使clang++编译器编译为x86_64代码,我有一个M1 Mac。当我从命令行编译时,我得到了arm64代码,它的运行速度是命令行的4倍。即使在VSCode中使用终端窗口来执行shell脚本,它仍然会强制它进入x86模式。我一直在寻找的任何地方都没有发现有人提到这一点,这一点涉及面很广。这次是我自己发现的。我将查找本机VSCode或设置,或。。。不过,谢谢你的帮助。我知道这让人困惑。我搜索了很多,只能找到VSC本身运行缓慢的地方。它不会影响以后编译的代码。我试着想象一下,从VSC内部执行命令行脚本如何能够得到与在命令行执行同一脚本不同的结果。很明显,VSC在某种程度上参与其中。我只是能找到一些想法,所以这不是编译时速度的问题。这是生成代码的速度。最终的程序运行速度慢了五倍。无论哪种方式,编译时间都只有几秒钟。“我知道这很混乱。”——你说的“它”是指情况还是你对它的描述?就我个人而言,我觉得你的描述有点杂乱无章,没有重点,很难理解。有点像你在没有介绍的情况下就跳进了你的思想中间。(可能只是我)我以为你在问一个编译时问题,这意味着构建代码需要5分钟而不是3分钟。您可能可以通过编辑
tasks.json
来启用优化经过大量的实验和挖掘,我得到了答案:VSCode环境使clang++编译器编译为x86_64代码,我有一个M1 Mac。当我从命令行编译时,我得到了arm64代码,它的运行速度是命令行的4倍。即使在VSCode中使用终端窗口来执行shell脚本,它仍然会强制它进入x86模式。我一直在寻找的任何地方都没有发现有人提到这一点,这一点涉及面很广。这次是我自己发现的。我将查找本机VSCode或设置,或。。。不过,感谢您的帮助。如果您不需要进行集成调试——也许可以将VSCode的“build”选项绑定到一个管道中,另一端在该管道中本地生成代码。如果您对注释中的所有相关信息都在该答案中感到满意,则可以删除注释(为了保持此页面整洁)然后从您的回答中删除“我把它放在注释中,但应该放在这里。”位。如果您不需要进行集成调试,也许可以绑定“构建”选择VSCode写入管道,另一端在管道中生成代码。如果您确信您的评论中的所有相关信息都在这个答案中,您可以删除您的评论(以保持页面整洁),然后从您的答案中删除“我把它放在评论中,但应该放在这里。”位。