让人爱恨交加的Intel C++ Compiler

jackyjkchen 2009-09-03 01:58:47
感谢CSDN网友提供的Intel C++ 11.0的license文件,呵呵,现在即便使用ICC的大多也在用9.0或10.0呢。

我的专业是信息安全,经常需要高效率的调用密码学库,这次的项目对效率要求极高,虽然我用VC编译的TomCrypt动态库效率已经达到要求了,T7300 CPU下AES加密速度已达到102MB/S,RSA1024密钥生成速度0.1s级,要知道我之前下载的许多算法RSA1024的密钥生成至少得0.5s。不过我还是想精益求精,改用ICC编译TomCrypt,VC2008编译界面程序。打开T7300可以使用的SSSE3优化,果然速度提高了5%,达到了109MB/S,要知道近10年来编译器效率提升至多也不过这个数。

虽然效果很明显,但是代价也大,首先就是体积,大了差不多60%(MFC界面程序如果用ICC编译就直接加倍了,介于此,再加上ICC对界面程序优化不大,我就没用ICC编译界面),而且编译链接时间多了几倍,内存占用超过500M……为了5%,忍了……

ICC最大的好处其实是对VC的几乎100%的兼容,VC代码用ICC编译不用做任何改动,本来么微软和Intel就是盟友,不构成竞争,ICC只能用VS做IDE就是明证(CodeBlocks也有ICC这一项,但是竟然无法像对VC和GCC那样自动识别,可见兼容性……),如果跑算法,CPU又是支持SSE3以上指令集的,ICC确实不错,不过也仅限于单独编译算法模块,界面等千万别用ICC,体积加倍效率不增……
...全文
744 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nineforever 2009-09-04
  • 打赏
  • 举报
回复
通常对代码本身进行性能调优的效果要比仅仅依赖编译器使用更新的指令集好,因为你比编译器知道更多的假定
spirit_sheng 2009-09-04
  • 打赏
  • 举报
回复
考虑如果需要支持多种CPU,则算法部分封装成dll最好
只需要更改编译选项,就可以支持使用SSE3,MMX等(因为老的CPU不见得能够支持SSE3,但可能有MMX)



spirit_sheng 2009-09-04
  • 打赏
  • 举报
回复
算法部分封装成dll,使用ICC编译,其他部分使用VC编译即可
jackyjkchen 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fallening 的回复:]
link的时候肯定问题多多
[/Quote]

没有任何问题
fallening 2009-09-03
  • 打赏
  • 举报
回复
link的时候肯定问题多多
bruceteen 2009-09-03
  • 打赏
  • 举报
回复
那你可以分别编译嘛,用ICC编译你的TomCrypt,用VC编译你的MFC
然后 link
yangyunzhao 2009-09-03
  • 打赏
  • 举报
回复
只用vc和gcc
starcat 2009-09-03
  • 打赏
  • 举报
回复
Intel编译器对业余爱好者来说只是听说过,没有实际用过

还是VC,BCC,GCC用的多
晨星 2009-09-03
  • 打赏
  • 举报
回复
学习学习。
内容概要:本文档系统性地汇集了电力系统、新能源并网与智能控制领域的多项关键技术研究与仿真成果,核心聚焦于三相逆变器PQ控制模型的Simulink仿真实现,并延伸涵盖功率分配、电压恢复、虚拟同步发电机(VSG)控制、虚拟阻抗建模、微电网分布式协同控制等关键环节。文档不仅提供了丰富的Simulink仿真模型,如光伏电池MPPT与恒功率切换控制、发电机故障暂态分析、直流微网并网控制等,还结合Python、C++等编程语言实现了数据分析、优化算法与系统建模,全面展示在新型电力系统稳定性分析、交直流混合配电优化、储能配置与调度等方面的综合研究能力。资源体系庞大,理论与实践紧密结合,突出科研复现与工程应用价值。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,从事科研、教学或工程开发工作的研发人员、研究生及高年级本科生。; 使用场景及目标:①开展逆变器控制、微电网运行、分布式能源接入等方向的科研项目与高水平论文复现;②掌握PQ控制、VSG、阻抗建模、扫频分析等核心技术的建模与仿真方法;③获取成熟的仿真模型与代码资源以加速课题研究进程,提升科研效率与创新能力。; 阅读建议:建议结合文档中提及的网盘资源与公众号“荔枝科研社”提供的完整资料进行系统学习,优先选择与自身研究方向匹配的主题深入实践,注重理论推导与仿真验证相结合,充分发挥“借力科研”的优势,全面提升技术水平与科研素养。

65,212

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧