小编0x9*_*x90的帖子

项目Euler 10 - 为什么第一个python代码运行速度比第二个快得多?

项目欧拉的第10个问题:

低于10的素数之和为2 + 3 + 5 + 7 = 17.

找出200万以下所有素数的总和.

我找到了这个片段:

sieve = [True] * 2000000 # Sieve is faster for 2M primes
def mark(sieve, x):
    for i in xrange(x+x, len(sieve), x):
        sieve[i] = False

for x in xrange(2, int(len(sieve) ** 0.5) + 1):
    if sieve[x]: mark(sieve, x)

print sum(i for i in xrange(2, len(sieve)) if sieve[i]) 
Run Code Online (Sandbox Code Playgroud)

在这里发布 ,持续3秒.

我写了这段代码:

def isprime(n):
    for x in xrange(3, int(n**0.5)+1):
        if n % x == 0:
            return False
    return True

sum=0; …
Run Code Online (Sandbox Code Playgroud)

python primes number-theory

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

~0做什么?


〜0意味着它翻转000000000到1111111111?

printf("Check: %i", ~0);
Run Code Online (Sandbox Code Playgroud)

printf结果为-1,这就是为什么我感到困惑.
-1基本上与11111111111111111位的含义相同吗?

c c++ bit bitwise-operators

4
推荐指数
2
解决办法
441
查看次数

宝石数量对Rails应用程序性能的影响程度如何?

我是Rails的新手,这可能是一个愚蠢的问题,但我想知道宝石的数量如何影响Rails应用程序的性能?你添加的宝石越多,它变慢吗?每个请求都会调用所有宝石吗?

我问这个问题是因为,例如,在Django中,你在每个调用它的.py文件中导入所有需要的类/方法/库.在Rails你没有这样做,一切都是"自动加载",但我想知道,这种"自动加载"的成本是多少?

这是否意味着每个请求都会调用所有宝石?

ruby performance rubygems ruby-on-rails

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

matlab从关联矩阵绘制图形

有没有办法从发生率矩阵中绘制图形.通过图表我的意思是http://en.wikipedia.org/wiki/Graph_(mathematics)而不是情节.

到目前为止,我只发现如何将关联矩阵转换为邻接矩阵.在R中,这可以通过igraph库实现.那么在matlab中有一个简单的方法吗?

matlab plot graph gplots

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

为什么从VBA写入文件的字节为每个字节添加1100?

我试图将图像作为字节数组复制到文件中vba.

文件的前三个字节,表示为字节数组:

   Dim arr(3) As Byte arr = {23,21,2f}
Run Code Online (Sandbox Code Playgroud)

从数组复制到新文件的代码是:

Open "try444.jpg" For Binary As #1

For cnt = 1 To UBound(arr)

    Put #1, LOF(1) + 1, arr(cnt)

Next
Run Code Online (Sandbox Code Playgroud)

但它写入1100 2311 0023 1100 2111 002f 1100文件(全部hex)

我的代码出了什么问题?

arrays excel vba byte jpeg

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

Linux内核需要多少指令来处理手臂皮层A9上的中断?

我想估计一个ARM cortex A9核心处理IRQ 所需的操作码数量.

假设我使用Linux内核3.4,调用irq和执行它需要多少操作码irq_handler

linux arm irq linux-device-driver linux-kernel

4
推荐指数
2
解决办法
1177
查看次数

为什么 Linux 不使用纤程而不是抢占式多任务?

  1. 有人可以解释一下协程和纤维是什么吗?与常规例程和多任务机制相比,它们解决了什么问题。
  2. 为什么 Linux 使用抢占式多任务而不是协作式多任务?

linux multithreading kernel multiprocessing

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

优化NEON XOR实施

试图xor一个巨大的uint32阵列我决定使用NEON协处理器.

我实现了两个c版本:

版本1:

uint32_t xor_array_ver_1(uint32_t *array, int size)
{
    uint32x2_t acc = vmov_n_u32(0);
    uint32_t acc1 = 0;
    for (; size != 0; size -= 2) {
        uint32x2_t vec;
        vec = vld1_u32(array);
        array += 2;
        acc = veor_u32(acc, vec);
    }
    acc1 = vget_lane_u32(acc,0) ^ vget_lane_u32(acc,1);
    return acc1;
}
Run Code Online (Sandbox Code Playgroud)

版本2:

uint32_t xor_array_ver_2(uint32_t *array, int size)
{
    uint32x4_t acc = vmovq_n_u32(0);
    uint32_t acc1 = 0;

    for (; size != 0; size -= 4) {
        uint32x4_t vec;
        vec = vld1q_u32(array); …
Run Code Online (Sandbox Code Playgroud)

c optimization arm neon cpu-cache

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

在Mac上构建opencv 2.4.6 - Mavericks

我为mac OSX(Mavericks)下载了opencv 2.4.6.解开tar文件并执行以下步骤:

cd opencv-2.4.6.1/
mkdir build
cd build/
cmake -G "Unix Makefiles" ..
make -j8
Run Code Online (Sandbox Code Playgroud)

但是我在构建时遇到错误

/Users/bobo/dir/opencv/opencv-2.4.6.1/modules/core/perf/perf_main.cpp:3:1: error: 
      multiple unsequenced modifications to 'argc' [-Werror,-Wunsequenced]
/Users/bobo/dir/opencv/opencv-2.4.6.1/modules/imgproc/perf/perf_main.cpp:3:1: error: 
      multiple unsequenced modifications to 'argc' [-Werror,-Wunsequenced]
CV_PERF_TEST_MAIN(core)
^~~~~~~~~~~~~~~~~~~~~~~
/Users/bobo/dir/opencv/opencv-2.4.6.1/modules/ts/include/opencv2/ts/ts_perf.hpp:501:5: note: 
      expanded from macro 'CV_PERF_TEST_MAIN'
    CV_PERF_TEST_MAIN_INTERNALS(modulename, plain_only, __VA_ARGS__)\
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bobo/dir/opencv/opencv-2.4.6.1/modules/ts/include/opencv2/ts/ts_perf.hpp:480:12: note: 
      expanded from macro 'CV_PERF_TEST_MAIN_INTERNALS'
    while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construct...
           ^          ~~
CV_PERF_TEST_MAIN(imgproc)
^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bobo/dir/opencv/opencv-2.4.6.1/modules/ts/include/opencv2/ts/ts_perf.hpp:501:5: note: 
      expanded from macro 'CV_PERF_TEST_MAIN'
    CV_PERF_TEST_MAIN_INTERNALS(modulename, plain_only, __VA_ARGS__)\
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bobo/dir/opencv/opencv-2.4.6.1/modules/ts/include/opencv2/ts/ts_perf.hpp:480:12: note: …
Run Code Online (Sandbox Code Playgroud)

c++ macos bash opencv cmake

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

使用Rust的枚举作为双向查找表

我正在编写通过D-Bus与NetworkManager交互的代码,我想enum使用像键一样的键值方案.

例如,我想一次使用的值0作为数字零,并在不同的上下文中使用字符串Unknown的这个enum:

pub enum NetworkManagerState {
    Unknown = 0,
    Asleep = 10,
    Disconnected = 20,
    Disconnecting = 30,
    Connecting = 40,
    ConnectedLocal = 50,
    ConnectedSite = 60,
    ConnectedGlobal = 70,
}
Run Code Online (Sandbox Code Playgroud)

这样做最干净,最惯用的方式是什么?有没有办法定义基于元组的枚举,每个条目看起来像这样,(ConnectedSite, 60u32, "Connected")并在上下文中使用每个元组属性.

enums lookup-tables rust

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