V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
letitbesqzr
V2EX  ›  JavaScript

gulp.js(Node.js) 没办法利用多核?

  •  
  •   letitbesqzr · 2015-08-17 12:49:46 +08:00 · 2953 次点击
    这是一个创建于 3386 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前公司的项目在 jenkins 自动部署的时候会自动去调用 gulp 压缩处理等:

    js 文件非常多吧,大概有一两百个,每次运行的时候:

    都要花两三分钟,服务器的配置非常高,32 核:


    是 gulp.js 不支持多核?还是哪里没配置好
    10 条回复    2015-08-17 16:54:11 +08:00
    lwrless
        1
    lwrless  
       2015-08-17 13:08:28 +08:00   ❤️ 1
    Node.js 的缺点之一就是不能充分利用多核啊
    letitbesqzr
        2
    letitbesqzr  
    OP
       2015-08-17 13:09:51 +08:00
    @lwrless 好吧...没接触过这东西..原来这样
    amrio
        3
    amrio  
       2015-08-17 13:10:41 +08:00 via iPhone
    我这边的做法是新开一个 concurrent task ,用 exec 调用 gulp task 来使用多核心。 gulp 类似插件我过,貌似没有,可能是太简单了,别人不屑做?
    Arrowing
        4
    Arrowing  
       2015-08-17 13:28:38 +08:00   ❤️ 1
    多久之前的事情了,现在早可以用多核了
    利用多核请借助 child_process 、 cluster 模块
    zonghua
        5
    zonghua  
       2015-08-17 14:11:38 +08:00 via iPhone
    一个核心运行一个线程
    subpo
        6
    subpo  
       2015-08-17 14:38:29 +08:00
    可以的,开 worker ,简单的方法是把 task 分成多个子任务,在不同的 cluster 中跑
    coolicer
        7
    coolicer  
       2015-08-17 14:42:45 +08:00
    yyfearth
        8
    yyfearth  
       2015-08-17 15:06:15 +08:00
    NodeJS 是单线程的 没办法
    只能通过调用多进程来解决
    fo2w
        9
    fo2w  
       2015-08-17 16:40:06 +08:00
    @Arrowing 4L 把我想说的都说了
    FrankFang128
        10
    FrankFang128  
       2015-08-17 16:54:11 +08:00
    加 cache
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1089 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:29 · PVG 07:29 · LAX 15:29 · JFK 18:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.