小编chr*_*ode的帖子

UNIX`time`命令对于基准测试是否足够准确?

假设我想对两个程序进行基准测试:foo.py和bar.py.

是几千次运行和各自的平均值time python foo.pytime python bar.py足够的分析和比较他们的速度?


编辑:此外,如果每个程序的执行次高(假设它不是上述),time仍然可以使用?

unix linux benchmarking profiling

44
推荐指数
3
解决办法
2万
查看次数

为什么我们在实例化它们之前首先将子类型声明为它们的超类型?

阅读其他人的代码,我见过很多:

List<E> ints = new ArrayList<E>();
Map<K, V> map = new HashMap<K, V>();
Run Code Online (Sandbox Code Playgroud)

我的问题是:以这种方式实例化它们的意义/优势是什么,而不是:

ArrayList<E> ints = new ArrayList<E>();
HashMap<K, V> map = new HashMap<K, V>();
Run Code Online (Sandbox Code Playgroud)

令人感到奇怪的是,我从未见过如下:

CharSequence s = new String("String");
Run Code Online (Sandbox Code Playgroud)

要么

OutputStream out = new PrintStream(OutputStream);
Run Code Online (Sandbox Code Playgroud)


重复(问题的第一部分):

何时/为何使用/定义接口

在java中使用接口或类型进行变量定义?

我什么时候应该在java中使用接口?

为什么要为每个类创建接口而不是它们的实现

这两个java变量声明有什么区别?

java oop

21
推荐指数
4
解决办法
2142
查看次数

Node.js Express vs. Flatiron

类似于这个问题,"我正在寻找每个框架的优缺点,以及为什么一个框架对另一个框架特别有用"(但主要是Flatiron所提供的,因为Express已经详细介绍了题).

从我对Express的轻微体验来看,它似乎只涵盖了你需要的东西,而不是更多.Flatiron似乎这样做,但更简约.如果您查看他们的网站,您会看到他们提供大约5-7个主要功能,与Express中包含的许多其他功能相比.

最后,对于高度可扩展的Web应用程序而言,这似乎是最有希望的,为什么我应该使用这个或那个框架而不是使用框架呢?

node.js express flatiron.js

18
推荐指数
2
解决办法
9095
查看次数

重置多维数组的最快方法?

假设我有一个二维数组:vectors[x][y],初始数组结构如下所示:

vectors = [    
 [0, 0, 0, 0, 0,],
 [0, 0, 0, 0, 0,],
 [0, 0, 0, 0, 0,],
 [0, 0, 0, 0, 0,],
 [0, 0, 0, 0, 0,]
]
Run Code Online (Sandbox Code Playgroud)

经过一些计算,数组中的数据是随机的.将数组返回到初始状态的最快方法和最有效的方法是什么?

我知道我可以硬编码上面的归零数组并再次设置等于它的向量,但我也知道一个算法如:

for (var x = 0; x < vectors.length; x++) {
    for (var y = 0; y < vectors[x].length; y++) {
        vectors[x][y] = 0;
    }

}
Run Code Online (Sandbox Code Playgroud)

是O(x*y).

那么哪种方式更好?是否有更好,更快/更有效的方法来解决这个问题?

对于将任意长度的多维数组归零的一般情况,这是最好的方法吗?(如果重要,我正在使用JavaScript)

javascript arrays algorithm performance multidimensional-array

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

为什么我们不使用base64而不是hex?

如果我们使用十六进制,因为它是二进制的简化,使程序员更容易阅读,比二进制更容易阅读,并携带更多数据,(等等)为什么我们不跳到下一个逻辑步骤,base64?

例:

小数:
1,000,000 10

二进制:
0b11110100001001000000 2

十六进制:
0xf4240 16


显然,上面的base64表示将比十六进制表示更紧凑和简洁.

就此而言,为什么我们不使用任意大的2 n基本系统?为什么要停在十六进制?

binary base64 hex numbers

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

如何从Node.js连接到nethack?

我刚刚为游戏启动了一个人工智能机器人nethack,我无法绕过源头的"人工检查".我正在谈论的代码部分是nethack/sys/unix/unixunix.c:

#ifdef TTY_GRAPHICS
    /* idea from rpick%ucqais@uccba.uc.edu
     * prevent automated rerolling of characters
     * test input (fd0) so that tee'ing output to get a screen dump still
     * works
     * also incidentally prevents development of any hack-o-matic programs
     */
    /* added check for window-system type -dlc */
    if (!strcmp(windowprocs.name, "tty"))
        if (!isatty(0))
        error("You must play from a terminal.");
#endif
Run Code Online (Sandbox Code Playgroud)

我正在使用JavaScript,(更具体地说是Node.js),由于上述原因,即使我正在生成一个bash shell子进程并告诉它启动,它也不会让我从程序中玩nethack.我需要想办法绕过上面的内容而不重新编译源代码.

我正在使用的当前代码是:

"use strict";

var env = { TERM: 'tty' };
for (var k …
Run Code Online (Sandbox Code Playgroud)

javascript artificial-intelligence tty nethack node.js

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

无法从VBA函数返回值

我正在尝试从代码中返回一个值.只显示代码要容易得多:

Function writeHeaderData() As IXMLDOMNode

    Dim xmlDoc As New MSXML2.DOMDocument30
    xmlDoc.async = False
    xmlDoc.LoadXML "<Foo></Foo>"
    Dim Foo As IXMLDOMNode
    Set Foo = xmlDoc.DocumentElement

    'code snip; includes appending lots of things to Foo

    'the error is on this line:
    writeHeaderData = Foo
    Exit Function

End Function
Run Code Online (Sandbox Code Playgroud)

我已经谷歌搜索了,但它无济于事.这个函数是从主子程序调用的,我试图将返回的IXMLDOMNode追加到一个更大的函数中,但我不断收到"Object variable or With block variable not set"错误" writeHeaderData = Foo.这里有什么问题?

excel vba ms-office excel-vba

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