小编xis*_*xis的帖子

在 cluster.on 上使用 babel 的 ES6 和 ES2016 之间的不同行为

我正在尝试使用集群来利用多核 CPU 的优势。用代码:

var cluster = require('cluster');

if (cluster.isMaster) {
    for(var i = 0; i < 2; ++i) {
        cluster.fork();
    }
    cluster.on('exit', function (worker) {
        console.log('Worker ' + worker.process.pid + ' exitted.');
    });
} else {
    console.log('Worker ' + cluster.worker.process.pid);
    process.exit(0);
}
Run Code Online (Sandbox Code Playgroud)

节点与输出完美配合

Worker 14058
Worker 14064
Worker 14058 exitted.
Worker 14064 exitted.
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试import与 babel 一起使用时,我遇到了问题:

import *  as cluster from 'cluster'

if (cluster.isMaster) {
    for(let i = 0; i < 2; ++i) {
        cluster.fork();
    }
    cluster.on('exit', (worker) …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 ecmascript-2016

3
推荐指数
1
解决办法
1083
查看次数

哪个更好,抛出异常或返回非零值?

可能重复:
C++ - 返回代码异常的参数

在进行C++编程时,您有两种报告错误的选择.我想很多老师会建议你抛出一个异常,它是从std :: exception派生的.另一种可能更"C"形式的方法是返回非零值,因为零是"ERROR_SUCCESS".

确切地说,返回异常可以提供更多的错误和恢复信息; 虽然代码会膨胀一点,但在你的脑海中保持异常安全对我来说有点困难,至少.其他方式,如返回其他内容,将使报告错误更容易; 缺点是管理恢复将是一个可能很大的问题.

作为优秀的程序员,人们会不会考虑老板的意见?对我来说,我想返回一些非零值.

c++ exception

2
推荐指数
1
解决办法
3761
查看次数

如何在Python模块初始化时启用日志记录?

我有以下代码:

#! /usr/bin/python
import logging
import test_log

def main():
    logging.error("hello")

if __name__ == '__main__':
    logging.basicConfig()

    main()
Run Code Online (Sandbox Code Playgroud)

其中test_log定义为:

import logging

_logger = logging.getLogger(__name__)
_logger.warn('initializing ' + __name__)
Run Code Online (Sandbox Code Playgroud)

执行主脚本将导致输出:

No handlers could be found for logger "test_log"
ERROR:root:hello
Run Code Online (Sandbox Code Playgroud)

我相信是因为该import test_log语句会执行_logger = logging.getLogger(__name__); _logger.warn('initializing ' + __name__),而此时logging.basicConfig并未执行。有办法解决这个问题吗?

python logging module

2
推荐指数
1
解决办法
2714
查看次数

splot 中的 z 轴断裂

网上有很多资源可以教你如何绘制断轴的二维图,例如http://www.phyast.pitt.edu/~zov1/。基本上使用的策略是使用多图模式绘制两个图,并将它们组合在一起。

但是,我想要做的是打破 Z 轴,考虑这两个曲面:

势能面示例

由于两个表面之间的能隙很大,在这个图中地能面几乎是“平坦的”,但如果我们单独绘制地能面,我们可以看到它根本不是“平坦”的:

在此处输入图片说明

有没有办法打破Z轴让Gnuplot显示更多表面细节?multiplot 在这里不起作用,因为它是一个 3d 绘图。

gnuplot

2
推荐指数
1
解决办法
288
查看次数

在高性能计算中,数组C [] = A []*B []

我相信通常在C++中使用这样的代码

for(size_t i=0;i<ARRAY_SIZE;++i)
    A[i]=B[i]*C[i];
Run Code Online (Sandbox Code Playgroud)

一个普遍提倡的变更是:

double* pA=A,pB=B,pC=C;
for(size_t i=0;i<ARRAY_SIZE;++i)
    *pA++=(*pB++)*(*pC++);
Run Code Online (Sandbox Code Playgroud)

我想知道的是,改进此代码的最佳方法,因为IMO需要考虑以下事项:

  1. CPU缓存.CPU如何填充缓存以获得最佳命中率?
  2. 我想SSE可以改善这个吗?
  3. 另一件事是,如果代码可以并行化怎么办?例如,使用OpenMP.在这种情况下,指针技巧可能不可用.

任何建议,将不胜感激!

c++ arrays performance

1
推荐指数
1
解决办法
277
查看次数

关于Qt的初学者问题

我想问一些我在Qt网站上找不到的问题.

  1. Qt是完全免费还是只是其中的一部分,或者根本不是免费的?
  2. 我可以在Visual Studio中使用它的库吗?
  3. 我可以和Mt一起使用MFC吗?
  4. 我想使用Qt的主要原因是创建专业的GUI.我应该下载什么?Qt Library,Qt Creator或两者兼而有之?

c++ qt mfc qt-creator visual-studio

0
推荐指数
1
解决办法
178
查看次数