Okay, that is really odd. Your results indicate that it is really slow on the filtered graph, but fast on the pruned graph.
For me, the results are always the same for the filtered and pruned.
What I found out though is that my anaconda graph tool is much faster for the sample, different to the global graph tool installation. I am also running it with multiple threads. But anyways, the sample should seldomly be that much slower than the full dataset.
Strange, I'll try to find out more.
Best,
Philipp
Hi Philipp,
Not with the sample you provided.
Trying here, time decreases below that for the original graph.
(I had to change the sample to increase n and sample size, otherwise it was just too fast to capture)
In [1]: %paste
import random
import graph_tool.all as gt
n=100000
g = gt.price_network(n,10,directed=False)
%time gt.eigenvector(g)
def node_sample(g, g_vertices, n_samples):
return random.sample(g_vertices, n_samples)
sample = node_sample(g, [x for x in g.vertices()], int(n/10))
vfilt = g.new_vertex_property('bool')
for s in sample:
vfilt[s] = True
g_sample = gt.GraphView(g, vfilt=vfilt)
%time gt.eigenvector(g_sample)
u = gt.Graph(g_sample, prune=True)
%time gt.eigenvector(u)
## -- End pasted text --
CPU times: user 747 ms, sys: 0 ns, total: 747 ms
Wall time: 748 ms
CPU times: user 12.2 s, sys: 0 ns, total: 12.2 s
Wall time: 12.2 s
CPU times: user 335 ms, sys: 0 ns, total: 335 ms
Wall time: 335 ms
Cheers
.~´
On Wed, Jul 27, 2016 at 5:35 PM, Philipp Singer <killver@gmail.com> wrote:
Thanks for the hint, I tried that but it is the same runtime as on the filtered graph.
Best, Philipp
On 27.07.2016 17:16, Tiago de Paula Peixoto wrote:
On 27.07.2016 17:06, Philipp Singer wrote:g = gt.price_network(10000,10,directed=False) %time gt.eigenvector(g) def node_sample(g, g_vertices, n_samples): return random.sample(g_vertices, n_samples) sample = node_sample(g, [x for x in g.vertices()], 1000) vfilt = g.new_vertex_property('bool') for s in sample: vfilt[s] = True g_sample = gt.GraphView(g, vfilt=vfilt) %time gt.eigenvector(g_sample)If you want to check if the difference is due to graph filtering, you can compare with: u = gt.Graph(g_sample, prune=True) gt.eigenvector(u) Best, Tiago
_______________________________________________ graph-tool mailing list graph-tool@skewed.de https://lists.skewed.de/mailman/listinfo/graph-tool
_______________________________________________
graph-tool mailing list
graph-tool@skewed.de
https://lists.skewed.de/mailman/listinfo/graph-tool
_______________________________________________ graph-tool mailing list graph-tool@skewed.de https://lists.skewed.de/mailman/listinfo/graph-tool