bitwalker / bitwalker/libgraph
Duplicate vertex ids when adding high number of vertices
- Lingua principale
- Elixir
- Stelle
- 571
- Fork
- 76
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
When adding large number of vertices, some of my vertices weren't added to the graph.
For example
```
vertices = 0..250000 |> Enum.map(& &1)
Graph.add_vertices(Graph.new, vertices)
#Graph
```
I fixed it for myself by changing the function `Graph.Utils.vertex_id(v)` to
``` def vertex_id(v), do: v```
instead of
``` def vertex_id(v), do: :erlang.phash2(v, @max_phash)```
Apparently I had duplicate key in my graph otherwise.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia riproducendo l’esempio con Graph.add_vertices(Graph.new, 0..250000) e analizza Graph.Utils.vertex_id/1, in particolare il suo utilizzo di :erlang.phash2. Verifica in che modo gli ID dei vertici duplicati influiscono sull’inserimento. Il lavoro è completato quando l’aggiunta dell’intervallo dell’esempio conserva tutti i 250001 vertici senza chiavi duplicate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- elixir
- Ambito
- data
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 48/100