https://github.com/Uniswap/interface 这种复杂度的前端项目,在 16 年 macbookpro ( i3 2.?G )上启动开发环境要 5 分钟以上,热更新要半分钟,但是 CPU 没有占满,闲置 30%以上 但是 M1 上启动和热更新只需要几秒钟 这是为啥
1
placeholder 2023-07-08 16:43:41 +08:00
因为 M1 性能更强了
|
2
flyqie 2023-07-08 16:45:08 +08:00
你说,有没有可能瓶颈不是在 CPU ,而是在硬盘?
|
3
kljsandjb 2023-07-08 16:49:36 +08:00 via iPhone
CPU 没有占满大概是在 IOwait
|
4
learningman 2023-07-08 21:45:53 +08:00 via Android
换 yarn 的 pnp ,配个 swc
|
5
IvanLi127 2023-07-08 21:49:51 +08:00 via Android
cpu 30% 是按单核算的还是全部?单核没吃满非话就可能是 io 不成。
|
6
jikeytang 2023-07-08 22:15:14 +08:00
用 vite 来开发,用 webpack 来打包,能够解决编译慢的问题。
|
8
b0x 2023-07-08 22:50:37 +08:00
swc 提升很多,肉眼可见的那种
|
10
moonrailgun 2023-07-10 00:40:30 +08:00
才 5 分钟。我以前开发过开发环境启动要一个小时的。
另外我会告诉你我的项目编译一次 docker 镜像要一个小时么? https://github.com/msgbyte/tailchat/actions/workflows/docker-publish.yml |
11
moonrailgun 2023-07-10 00:40:50 +08:00
@moonrailgun 口胡。是启动开发环境要 10 分钟
|
12
karott7 2023-07-10 10:37:20 +08:00
编译慢是 import 写法不对,当你 import 一个文件的时候,构建工具会解析这个文件以及这个文件中所有引用的文件,然后做 tree shaking ,这是造成编译慢点主要原因之一
如果你用过 lodash 项目的话,一般都推荐你用 import debounce from 'lodash/debounce' 写法,而不推荐 import { debounce } from 'loadsh' |
14
duan602728596 2023-07-10 11:24:43 +08:00
babel 的编译,webpack 的 loader 和 plugin ,typescript 的 type check ,还有机器的老化,都是可能的原因。
|
15
sampeng 2023-07-10 16:19:29 +08:00
因为你用 react
|