00:00
我们看下一个啊,叫做多进程打包啊three。好,我们来看。来我们呢,将上一个复制一份吧,上一个复制一份。然后来到26。叫做多集成。好,那么我们知道啊,我们的一些主星成啊,这引擎啊,主席成是单线成的,它同一时间呢,只能干一件事。那么也就是说啊,如果我的事情比较多啊,他就会要排队等很久很久才能干下一件事,所以呢,会比较慢。所以呢,我们可以通过多继承的方式呢,来优化这个打包速度啊,就同一时间呢,我两节课继承,三个继承来干这件事儿,那么我这个事儿呢,就干的更快一些啊,干的更快一些。好了,那么这多进程打包怎么用呢?诶,首先我们得下载一个东西。The three的啊。
01:00
40多个点D啊下它那么就可以用了。它呢是个load啊,那么我们要哪个东西启动多进程呢?就把它放过去,那么它就会启动多进程了。好,那么这lo呢,我们一般是给谁用呢?我们一般是给这个lo用,给lo用好,一旦要lo用啊,我们得改成一个use数组啊,我们说了一旦使用多个lo就得用数组,Lo呢就用就就直接用啊。好,然后这里面呢,再把这个配置呢,移上去啊。然后呢?OK,好呢,开启多进程。那么这个开启多进能打包啊,它是有利有弊的啊,有利有弊的,为什么这么说呢?哎,当你用好了,那么这个速度啊就杠杠的啊提升那么你没做好,哎,那就不好意思了,那就会非常慢,为啥呢?因为这个进程啊。
02:05
进程开启是有时间的。启动时间大概为。这600毫秒比较长。然后呢,进程通信啊。直接通信,诶,我要同一同一时间干一件事,那我就要告诉你这事我干完了对吧,然后你再接着干什么什么东西,那通信啊也有开销,也要花时间。所以啊,一旦你没用好,一旦你比方说这个事呢,假设我就只要我可能花100毫秒就干完了,结果你把它交给多进程大巴,我光启动就得启动600毫秒,那就非常得不偿失啊。所以只有这个时间啊,这个工作啊,它需要长时间去使用啊。只有工作消耗时间比较长。才需要这个。多进车打包啊,那么谁时间消耗比较长呢?诶你会想嘛,那么一般是JS,我们开发的时候,JS代码有的是最多的啊,你首先想到这一点,那么JS里面的有个yes is load有一个double。
03:09
YES1层呢,只做语法检查,哎,你要么错要么不错,是这个好拜呢,它除了要检查之完之后呢,还要进行编译,还这样转换,所以呢下时间比较长,也是我们啊工作时间最长的一个order。所以我们要做的事就是要把它是呢优化的更好一点,再加上的啊就会优化了。当然呢,现在啊,我们其实我们不加他还反而更快一些啊,我们可以看一下,我们可以试试啊,我们现在不加他,我们还要打包时间大概有多久。为什么呢,我们来看啊,现在呢,没有加了,我们看效果。打发时间,我们来往上翻,大概画了四秒钟左右啊,五秒钟左右,我们再预习一次啊,就要预习两次呢,看一下这个大概一个结果啊。
04:02
大家呢,也可以多次取平均值啊,四一啊四秒左右,就是大概是4.5秒左右吧。我们看一下加上load它会变成什么样子啊。好,我们来看诶往上走,这时候呢,我们看到一个值呢,是大概花了呃五秒啊五秒钟超过五秒了,我们再预习一次。好,因为你的电脑呢,可能在干其他事啊,所以呢,这个时间呢,并不是一定是准确的一个时间啊。好五秒四啊,而言之呢,肯定是比你之前没用之前呢更更慢一点,就是因为它进程启动的是要花更多时间的600毫秒,所以这个呢是没办法避免的。然后它当当它一次启动呢,会根据你CPU核数减一这样的数量去启动这个进程啊,当然你可调整啊,如果你想调整的话,你可调整,我们说要调整的话呢,就得改成个对象啊,然后呢,通过写一个这个。
05:06
Options对吧,在这里面写相关的内容,比如说啊,我们调整它是不是,然后它的话呢,我们就写一个相应的配置啊。这配置呢,叫works workers啊,Workers。如为二,那么就是它的进程只有二。哎,进程啊。两个。所以这时候再运行的话呢,应该会少一点,因为我CPU呢是四个核数啊,那么现在呢,切换成二个核数呢,应该会稍微的更快一点点啊。因为我说实话没有什么事要做,所以呢,呃,当然这个平均值它不是那么平均的啊。那么这个呢,大家可以到时候可以去换一下啊,那么我们说了这个东西要想效果比较好的情况下,一这个呢,那前提是我们的GS代码要非常多啊才能体现,所以呢,大家可以拿到自己的一些项目去验证一下,那我这呢,看的不是特别明显啊,看的不是特别明显。
06:07
好,那么这个呢,就是这个多继承打包的一种方式,它呢用的好的话呢,能够极大的提升我们打包速度啊,比方说多的。那么用的差的话呢,就像我这样,我这里面的GS代码呢,其实没多少啊,就这几行,那你为了它反而开启一个这样的一个进程,所以花费时间会更长啊。那么这里就是我们多进程打包的一种方式啊,多进程打包就是three放在某一个load的后面,它就会对这个load呢进行开启多进程去打包。不行,千万不要放前面啊,一定要放后面。然后呢,如果假设你还是对其他的log呢,也做这样的处理,也是一样的做法,那么我们一定要注意啊,因为进神之间的启动和开销都比较昂味,所以我们千万不要滥用,千万不要滥用。那么这个呢,就是我们的多进程打包。
我来说两句