小编ele*_*ora的帖子

以64位编码两个ipv4地址

如果我有一对IP地址,如:

IP1="168.2.65.33"
IP2="192.4.2.55"
Run Code Online (Sandbox Code Playgroud)

我想将每对编码为64位值,以便前32位是第一个IP地址,第二个是第二个IP地址.然后,我希望能够将64位值保存到文件中,以便我可以将其读回并恢复两个IP地址.

目的是节省空间.

是否可以在python中执行此操作?

python

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

使用DBSCAN进行聚类的速度非常慢

我正在尝试聚类,我很惊讶它看起来有多慢.我制作了一个随机图,其中包含30个社区,每个社区包含30个节 社区中的节点有90%的连接机会,不在同一社区的节点之间的边缘有10%的连接机会.我正在测量两个节点之间的相似性,作为它们的邻居集之间的Jaccard相似性.

这个玩具示例仅在dbscan部分上花费大约15秒,如果我增加节点数量,这会非常快速地增加.由于总共只有900个节点,这似乎非常慢.

from __future__ import division
import numpy as np
from sklearn.cluster import dbscan
import networkx as nx
import matplotlib.pyplot as plt
import time

#Define the Jaccard distance. Following example for clustering with Levenshtein distance from from http://scikit-learn.org/stable/faq.html
def jaccard_distance(x,y):
    return 1 - len(neighbors[x].intersection(neighbors[y]))/len(neighbors[x].union(neighbors[y]))

def jaccard_metric(x,y):
    i, j = int(x[0]), int(y[0])     # extract indices
    return jaccard_distance(i, j)

#Simulate a planted partition graph. The simplest form of community detection benchmark.
num_communities = 30
size_of_communities = 30 …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn

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

使用另一个巨大的文件过滤较小的文件

我有一个巨大的csv文件,大约10 ^ 9行,其中每行有一对id,如:

IDa,IDb
IDb,IDa
IDc,IDd
Run Code Online (Sandbox Code Playgroud)

调用此文件1.我有另一个小得多的csv文件,大约10 ^ 6行以相同的格式.调用此文件2.

我想简单地找到file2中包含至少一个存在于file1中某个ID的行.

有没有快速的方法来做到这一点?我不介意它是在awk,python还是perl.

python perl awk

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

gcc是否使用v*汇编指令给出更差/更慢的代码?

考虑这个简单的循环:

float f(float x[]) {
  float p = 1.0;
  for (int i = 0; i < 128; i++)
    p += x[i];
  return p;
}
Run Code Online (Sandbox Code Playgroud)

如果你在gcc中用-O2 -march = haswell编译它,你会得到:

    f:
            vmovss  xmm0, DWORD PTR .LC0[rip]
            lea     rax, [rdi+512]
    .L2:
            vaddss  xmm0, xmm0, DWORD PTR [rdi]
            add     rdi, 4
            cmp     rdi, rax
            jne     .L2
            ret
    .LC0:
            .long   1065353216
Run Code Online (Sandbox Code Playgroud)

但是,英特尔C编译器给出:

f:
        xor       eax, eax                                      #3.3
        pxor      xmm0, xmm0                                    #2.11
        movaps    xmm7, xmm0                                    #2.11
        movaps    xmm6, xmm0                                    #2.11
        movaps    xmm5, xmm0                                    #2.11
        movaps    xmm4, …
Run Code Online (Sandbox Code Playgroud)

c assembly gcc icc

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

标签 统计

python ×3

assembly ×1

awk ×1

c ×1

gcc ×1

icc ×1

perl ×1

scikit-learn ×1