网易首页 > 网易号 > 正文 申请入驻

软件在笔记本上跑效率比在台式机上高,看了软件源码,差点崩溃!

0
分享至

没想到帮一个朋友看了下他们公司的源码,差点把我给整崩溃了!事情的起因是有个项目,软件在笔记本上的运行速度比在工控机上的运行速度要快至少一半的时间,这个事情把这个朋友折腾得够呛。于是,他就找到了我,我在排除了硬件配置问题后,决定帮他看看软件源码,看看是不是源码有问题,谁知道看了几个小时,我差点就崩溃了!



工控机运行效率竟然不及笔记本

详情是这样的,朋友的公司做了一个视觉软件,软件做好之后,放到工控机上去运行,结果发现工控机上运行速度特别慢。

朋友特地在公司用来敲代码的两台笔记本上做了实验,发现软件在两台笔记本速度都比在工控机上快。

再看两台笔记本的配置和工控机的配置,两台笔记本的CPU别是一个11代I5和12代I7,显卡分别是3050和3090。而工控机的CPU则是一枚10代I9,显卡则是4060。

账面上看,工控机的CPU虽然代数略低于那两台笔记本,但是工控机的优势就是CPU是36线程的,标压下3.0GHz,睿频下4.8GHz,显卡不用说了,秒杀那两台笔记本。

所以,大家都觉得,工控机再差,性能也不会比笔记本低才对。但是,就如前面所说,工控机跑出来的数据却比那两台笔记本要差好多。假设跑完一段逻辑,笔记本需要5秒的话,工控机反而需要6秒甚至是更长时间。

我一开始以为是工控机的电压不够,导致其发挥不出极致性能,于是看了下工控机的电源配置,结果发现工控机的电源配置是标准模式。

我拿一套算法脚本在朋友提供的笔记本是跑了一下,发现跑完这套算法需要250毫秒左右,又拿相同的算法在工控机上跑,发现竟然需要500毫秒左右!整整差了两倍性能!

于是,我将工控机的电源设置成性能模式,再次跑了下算法,发现工控机算法执行时间降到了230毫秒左右。

原本以为就是电源的问题,结果朋友又拿他们开发的软件跑了一下,发现耗时跟之前并无差别。

因为他们软件运行时需要用到显卡,于是我便问他,显卡供电有没有问题,结果他说显卡是独立供电的。

在此情况之下,我找朋友要了这个软件项目的源码,想看看是不是代码写得有问题,导致在工控机上性能反而会降低。



项目源码看着太难受!

结果让我万万没想到的是,这代码让我难受得怀疑人生!

这个软件虽然功能挺多,但整体并不复杂,可是,光代码,这个软件的项目就有600多M!一个代码的解决方案里竟然包含了24个项目引用!啥意思呢,您可以理解为24个独立的库!

本身24个库也没啥,一个简单的项目引用更多的库我也见过。但是,这24个库不简单,里面大约有一半代码都是废代码!

有可能只是为了使用一个扩展函数,代码的编写者把整个库都搬来了!注意,是把整个库的源码都搬来了,而不是单独引用一个库!

其实,这也没啥,我还是可以忍的,大不了视而不见就是了!

但是,我折腾了将近一个小时,才将这个项目跑起来,原因是库与库之间存在循环引用的关系!

循环引用库

什么是循环引用?意思就是A项目库调用了B项目库,而B项目库也调用了A项目库!

这种做法看起来简单,但是实际上是不符合项目设计思想的!而且,这会导致一个非常严重的问题,那就是库之间存在依赖关系,导致两个库都无法引用成功,最终IDE无法执行编译过程!

这又怎么解释呢?

很简单!假设A项目依赖B项目,此时B项目出现了问题导致了无法编译,那么A项目自然也就无法编译成功了!但是,如果B项目编译不成功,是因为A项目无法编译呢?

这就会导致出现了一个编译上的“死循环”,为此,我们甚至都可以讨论一下“先有鸡还是先有蛋”的问题!

但是,这个问题在这个项目里有24个!

抛开循环引用问题,这个项目还有一个问题,那就是库与库的引用都是引用自文件夹而非项目。

怎么说呢?

打个比方,假设A项目需要引用B项目,那么需要先将B项目编译到指定目录,然后A引用该目录的B项目库即可。

这种做法在简单的项目结构里面没问题,但是,这个项目可是有24个项目库!如果我不放心的话,我需要编译24次!

有人说了:“你可以直接编译解决方案啊!”

但是,这又回到了上面的那个问题,那就是库与库之间存在依赖关系,直接编译解决方案可能会因为编译顺序的问题编译失败!

于是,我尝试将所有库的引用直接改为项目引用,这种做法可以在编译主程序的时候,顺带编译其他库项目,而且是遵循依赖顺序的编译!

不改还好,改完以后我发现库引用不上了,IDE直接告诉我说库与库之间存在循环引用,不允许我这么干!

废了半天功夫,项目被我搞得乱七八糟,不动他还可以编译,结果彻底无法编译了!最后实在搞不动了,决定放弃!



结语

听说,这个项目是个月薪22K的人写的,而且,这个22K还是在一个三线城市拿到的,我觉得这个人怎么说也是个编程大牛吧!从项目业务逻辑上来看,能把这个项目写出来,也算个牛人,可是代码表现上又不像,这让我陷入了非常难受的怀疑和自我怀疑中!

这就像形容一个人既好看,又难看那么矛盾!

声明:个人原创,仅供参考

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
戴伟浚谈落选国足:若我是主教练,也不会选联赛踢的不多的球员

戴伟浚谈落选国足:若我是主教练,也不会选联赛踢的不多的球员

直播吧
2024-05-27 19:49:19
中央政治局会议释重磅信号!“严”字当头要求金融监管“长牙带刺”

中央政治局会议释重磅信号!“严”字当头要求金融监管“长牙带刺”

国是直通车
2024-05-27 22:00:02
毛晓彤求你别再整了!在《庆余年》里假体都要飞出来了,太吓人

毛晓彤求你别再整了!在《庆余年》里假体都要飞出来了,太吓人

谈娱新语
2024-05-24 22:23:27
勇士向库里做出重要保证!2大超巨火速驰援库里,4巨头将称霸NBA

勇士向库里做出重要保证!2大超巨火速驰援库里,4巨头将称霸NBA

宝哥精彩赛事
2024-05-28 10:00:54
韩国接待中国拿出了最高规格,尹锡悦惦记的2件事,中方终于点头

韩国接待中国拿出了最高规格,尹锡悦惦记的2件事,中方终于点头

乡野小珥
2024-05-27 16:08:16
当不成总统了?又一架美军战机被击落,美军被“驱逐”,拜登失声

当不成总统了?又一架美军战机被击落,美军被“驱逐”,拜登失声

大佬日志
2024-05-27 08:00:15
为什么人有钱后会飘?评论让我清醒,银行卡入账500W,你飘不飘?

为什么人有钱后会飘?评论让我清醒,银行卡入账500W,你飘不飘?

快乐斯密斯
2024-05-27 09:43:27
威廉王子和王妃“非常难过”,发表联合声明,凯特化疗信息也流出

威廉王子和王妃“非常难过”,发表联合声明,凯特化疗信息也流出

蛙斯基娱乐中
2024-05-28 02:28:38
曝白百何二婚离婚?吃“回头草”和前任珠胎暗结,陈羽凡脸都绿了

曝白百何二婚离婚?吃“回头草”和前任珠胎暗结,陈羽凡脸都绿了

娱乐的小灶
2024-05-28 07:30:23
1年271万!顶级3D啊!你大合同要来了!

1年271万!顶级3D啊!你大合同要来了!

篮球实录
2024-05-27 23:04:40
从《雪中悍刀行》到《庆余年2》,明明是同一个人,愣是没认出来

从《雪中悍刀行》到《庆余年2》,明明是同一个人,愣是没认出来

电影侦探社
2024-05-27 18:36:58
一年前,他躺在货架没人要,如今成季后赛“奇兵”,征服整个NBA

一年前,他躺在货架没人要,如今成季后赛“奇兵”,征服整个NBA

体坛热评
2024-05-27 21:24:42
外资大胆预测:最早在2025年,中国楼市会出现供应短缺,可信吗?

外资大胆预测:最早在2025年,中国楼市会出现供应短缺,可信吗?

趣味萌宠的日常
2024-05-27 20:34:19
5月27日,法国大使身亡,俄罗斯宣布“退群”,美国“后院失火”

5月27日,法国大使身亡,俄罗斯宣布“退群”,美国“后院失火”

小影的娱乐
2024-05-27 21:13:39
当年我们部队就两类食堂,机关食堂和连队食堂,根本没有高干食堂

当年我们部队就两类食堂,机关食堂和连队食堂,根本没有高干食堂

瞥见
2024-05-20 19:51:42
新型卖淫方式,让人预想不到,但却真实存在!

新型卖淫方式,让人预想不到,但却真实存在!

雪影的情感
2023-11-18 11:51:16
孙俪太接地气!奶奶风打扮看似土气,但恰恰随性又舒适,值得借鉴

孙俪太接地气!奶奶风打扮看似土气,但恰恰随性又舒适,值得借鉴

木木尔时尚
2024-04-30 11:06:44
从不拿货的拼多多利润率远超阿里和京东,赚钱的秘诀在哪里?

从不拿货的拼多多利润率远超阿里和京东,赚钱的秘诀在哪里?

王五说说看
2024-05-27 10:24:13
欧洲震动!中国或对西方进口汽车加征关税,冯德莱恩“改口”

欧洲震动!中国或对西方进口汽车加征关税,冯德莱恩“改口”

科技最酷前沿
2024-05-27 18:36:24
很难相信她都35岁了,真的好白好美,气质软萌软萌的!

很难相信她都35岁了,真的好白好美,气质软萌软萌的!

小米虫侃人物
2024-05-27 09:34:36
2024-05-28 12:12:49
程序员古耕
程序员古耕
程序员、网文作家、自媒体人
378文章数 286关注度
往期回顾 全部

数码要闻

AMD 800系列AM5主板将与Ryzen 9000"Zen 5"台式机CPU同时发布

头条要闻

中国防长董军确定出席"香会" 媒体:有三大看点

头条要闻

中国防长董军确定出席"香会" 媒体:有三大看点

体育要闻

阿根廷一代神锋,击碎了沙特的金元足球梦

娱乐要闻

昆凌晒三胎正面照,2岁妹妹超像周杰伦

财经要闻

郑裕彤家族撑腰 小赢科技撮合放贷大赚

科技要闻

刘强东为何此时重新定义“兄弟”?

汽车要闻

三联屏/纯电续航318km 岚图FREE 318官图发布

态度原创

教育
艺术
房产
时尚
游戏

教育要闻

求整数最值有关的竞赛试题讲解,幂的性质是关键

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

房产要闻

大量宅地爆发上架!海口2大片区旧改,又要火力全开!

夏季时尚好看的秘诀就是穿裙子,学会这三个搭配技巧,优雅显气质

《龙珠Z:电光火石ZERO》评级新变化:添加游戏内购

无障碍浏览 进入关怀版