打印

最近引入一个开源的AI项目,开发突围:咱该换电脑了!

[复制链接]
574|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
科叼|  楼主 | 2025-7-14 15:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
背景
最近引入一个开源的AI项目(使用的技术栈相对比较新)进行二次开发,在我的工作本上启动开发很正常,在我之前老工作本上得启动多次才能成功,在我的一个同事工作本上发现根本启动不起来。

 "dependencies": {
     "antd": "^5.12.7",
     "react": "^18.2.0",
     "react-dom": "^18.2.0",
     "i18next": "^23.7.16",
     "umi": "^4.0.90",
     "tailwindcss": "^3",
   },
   "engines": {
    "node": ">=18.20.4"
   }


机会启动
顺便吆喝一句,想重新换个跳板机会https://jsj.top/f/o38ijj的,技术大厂,前后端测试HC,待遇还不错,可以试试~

问题分析
同时对依赖包版本、兼容性、node_modules、npm cache等可能涉及的因素排查了一遍,发现始终无法解决问题,又按照AI提出的一些方案进行插件配置也无法解决问题,折腾了两天也无法投入开发。

按照现象来看,node版本一致、依赖包版本一致、甚至下载的node_modules都是用我提供的压缩包,唯一区别就是工作本不一样。我的工作本是最近国补新买的电脑,之前老工作本用了五年性能有些跟不上,同事的工作本也相对比较老旧。错误日志提示generate failed after 5 second,大概率是执行某个任务时超时了。

我猜想大概率是电脑性能跟不上导致的问题,于是**作关了其它额外的所有应用程序,也暂停了火绒的自动检索,尝试把CPU、内存全部压到Vscode应用上,结果和我猜想的一致,启动成功了。

回溯开发
同事遇到的这个问题其实比较典型,在用老工作本时因为可能涉及前端项目、Java项目、Flutter项目等多个业务开发,多开编辑器的情况下就是很卡顿,不过并没有直接错误的场景。自从使用了新的工作本才发现,以前难以解决优化的问题已经消失了。

npm run build
曾经很长一段时间,我受控于前端项目启动、build、热更新都很慢,我还专门在webpack配置、插件性能分析、CPU多核利用(happyThreadPool)等多维度进行优化,除过打的包由110Mb 降至 23MB外,速度上基本没有明显提升。

const happyThreadPool = HappyPack.ThreadPool({ size: require('os').cpus().length });

config.plugin('HappyPack').use(HappyPack, [
  {
    id: 'js',
    loaders: ['babel-loader'],
    threadPool: happyThreadPool,
  },
]);


因为happyThreadPool的使用,导致在执行npm run build时,电脑很难在同步执行其它任务,同事曾经调笑到:咱们项目进入接水时间,因为build用时够来回去水房接水。

对比webpack5在不同环境的构建表现:

特性        旧设备        新设备
持久缓存构建        78s        14s
并行压缩        45s        7s
模块热替换        9s        0.3s
通过对比webpack构建日志发现:

旧设备冷构建平均耗时4分28秒(含babel转译、css压缩、tree shaking)
新设备同样任务仅需47秒,热更新响应速度从8-12秒提升至<1秒
使用新工作本后,速度提升了一个维度,我之前绞尽脑汁想要优化的开发速度问题解决了。

复制粘贴
开发过程中,有一个很常见的场景就是文件夹复制粘贴,因为原始项目的问题,项目的依赖包经常安装失败。以这个项目为模板做新项目时经常涉及对node_modules的复制粘贴。在大多数时候node_modules的依赖包不止文件大、文件数量多(4w+)、目录层级多,无论对其进行压缩、解压迁移,或者直接迁移都很慢,老工作本一般需要花费小半个小时。

自从使用新工作本后,发现以最耗时的直接复制粘贴方式也只需要最多3分钟就可以完成。曾经受控的搭建基本环境慢的问题竟然没了。

在迁移node_modules时:

旧SSD硬盘解压4.2万文件耗时26分钟
NVMe SSD仅需2分15秒完成
实测证明,4K随机读写性能(旧设备87 IOPS vs 新设备580K IOPS)直接影响依赖安装效率

多开应用
曾经的开发,因为vscode本身集成了很多插件,应用占据内存一致很高,为了避免出现卡顿情况。开发基本都是单开工作项目,即使有协同项目也分次修改。更别提同时开发前后端,同时开启idea、vscode、chrome了。同时开发电脑基本会被拉爆,打字都开始延迟。 当同时开启:

IDEA运行Spring Boot微服务(占用4GB)
VSCode调试React组件(占用3GB)
Chrome运行E2E测试(占用2.5GB)
旧设备内存占用率持续>90%,触发频繁的swap交换,导致IDE输入延迟高达800ms


而现在idea(Java开发)、vscode(React开发)、Android Studio(Flutter开发)chrome、DevEco Studio(鸿蒙开发)的多开应用场景下也能开发自如。

开发视角
AI辅助开发
站在我开发的角度来看,随着AI辅助开发的不断接入,开发人员的多线程工作方式将变得越来越普遍,AI在分析需求生成业务代码的过程中本身也消耗大量电脑性能。AI辅助开发效率上的提升我已经能直观感受到了,因为我同时使用了ROO CODE、MarsCode AI、GitHub Copilot进行AI辅助开发,开发效率提升60%以上,但是电脑性能的瓶颈可能是影响我开发效率的一个关键因素。

使用GitHub Copilot时,代码建议响应时间:

旧设备:1200-1500ms
新设备:200-300ms
大语言模型的本地化部署(如CodeLlama 7B)需要至少24GB显存,这直接淘汰了仅配置4GB显存的旧显卡
第三方插件
另一方面,一些开发第三方库的插件因为版本的不断升级,在运行构建过程中对电脑性能也有了要求,回头看一下开头的问题也能发现这一现象。新的项目、新的技术的更迭,反向在推动硬件设备更迭升级。

开发全栈化
随着AI技术普及、企业降本增效,开发人数会减少,但对留下的开发人员来说,技术多趋向于全栈化。全栈意味着电脑上会下载更多的关联应用,同时运行的应用也会更多,对电脑性能也会提出新的挑战。

根据2024年StackOverflow调研,现代全栈开发推荐配置:

CPU:12核/16线程以上(应对容器虚拟化)
内存:64GB DDR5(满足微服务+AI模型驻留)
存储:2TB PCIe4.0 SSD(4K随机读写>700K IOPS)
GPU:12GB显存(支持本地AI训练)

后记
申明一下,不想推广什么电脑,标题只是想醒目点,只是单纯根据自己最近换电脑经历总结的。

——转载自:机器瓦力

使用特权

评论回复

相关帖子

沙发
地瓜patch| | 2025-7-14 21:29 | 只看该作者
该换就换,别委屈自己

使用特权

评论回复
板凳
zjsx8192| | 2025-7-15 09:02 | 只看该作者
工具嘛,该换还得换

使用特权

评论回复
地板
flyingstar01| | 2025-7-15 09:04 | 只看该作者
舍得舍得,有舍才有得。

使用特权

评论回复
5
hahajing27| | 2025-7-15 15:49 | 只看该作者
钱没赚到多少,倒是贴了不少钱,想起那个什么美食培训的笑话

使用特权

评论回复
6
zjk103| | 2025-7-15 16:05 | 只看该作者
现在行情如何了?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

228

主题

238

帖子

1

粉丝