2017-09-14 5 views
1

Ich möchte den Vertex/Edge-Eigenschaft Zugriffsprozess beschleunigen.graph_tool: Zugriff Scheitelpunkt/Edge-Eigenschaft schneller

Für Vertex-Eigenschaft Zugriff, finde ich eine Möglichkeit, jedoch für Edge-Eigenschaft Zugriff zu optimieren, es ist nicht so trivial für mich.

Die Idee für Vertex-Eigenschaft ist, das interne Array (a Eigenschaft) direkt zu ändern.

Zum Beispiel

vfilt = g.new_vertex_property('bool') 
for i in range(9999): 
    vfilt.a[int(i % n)] = random.randint(0, 1) 

(beachten Sie vfilt.a nicht vfilt)

statt mit:

vfilt = g.new_vertex_property('bool') 
for i in range(9999): 
    vfilt[int(i % n)] = random.randint(0, 1) 

jedoch für Rand, ich bin über die Zuordnung zwischen Rand nicht sicher und sein interner Index im Eigenschaftsfeld.

Meine Frage ist:

  • wie Kanteneigenschaft Zugang zu optimieren?
  • gibt es andere Möglichkeiten zur Optimierung der Vertex-Eigenschaft?

Antwort

0

Wie wäre es

for e in g.edges(): 
    vfilt[e] = random.randint(0, 1) 

Auch für Ecken:

for v in g.vertices(): 
    vfilt[v] = random.randint(0, 1) 
Verwandte Themen