Support mmap'ed edge lists
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con las funciones de ejemplo elmmap y elgraph del issue, y luego localiza los puntos de entrada existentes para cargar listas de aristas en GraphIO.jl. Verifica cómo debería exponerse una lista de aristas mapeada en memoria y prueba el flujo de trabajo mostrado con tmp.bin, incluido el array mapeado esperado y el comportamiento de la construcción del grafo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Sometimes you want to build a graph from an edgelist file, but don't have 2X memory lying around. So you should mmap the edgelist and then build the graph. Here is a sample implementation.
using Base.Mmap
using Base.Test
using LightGraphs
function elmmap{T}(io::IO, t::T, ne::Integer)
el = Base.Mmap.mmap(io, Array{Int,2}, (n,2))
return el
end
function elgraph(el::Array{Int,2}, maxv)
g = Graph(maxv)
for i in 1:size(el,1)
src, dst = el[i,1], el[i,2]
if src > nv(g) || dst > nv(g)
add_vertex!(g, maximum(src,dst) - nv(g))
end
add_edge!(g, src, dst)
end
return g
end
n = 100
write("tmp.bin", [1:n 2*(1:n)])
fp = elmmap(open("tmp.bin", "r"), Int, n)
@test fp == [1:n 2*(1:n)]
g = elgraph(fp, 2n)
- Lenguaje dominante
- Julia
- Estrellas
- 62
- Forks
- 30
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JuliaGraphs/GraphIO.jl
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
JuliaGraphs/GraphIO.jl#82 ·
-
Loading weighted graphsAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
JuliaGraphs/GraphIO.jl#64 · 1 reacción ·
-
Supporting XGMMLAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
JuliaGraphs/GraphIO.jl#62 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
JuliaGraphs/GraphIO.jl#61 · 1 comentario · 5 reacciones ·
-
Support NestedGraphs.jl ?Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
JuliaGraphs/GraphIO.jl#60 ·
Todos los issues de JuliaGraphs/GraphIO.jl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
bignums
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
JuliaNLSolvers/NLsolve.jl#319 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100