Support mmap'ed edge lists
まだ誰も着手していません。
評価
調査の方向性
まず issue のサンプルにある elmmap 関数と elgraph 関数から始め、次に GraphIO.jl で既存のエッジリスト読み込みのエントリポイントを特定します。メモリマップされたエッジリストをどのように公開すべきかを確認し、期待されるマップ済み配列とグラフ構築の動作を含め、示されている tmp.bin のワークフローをテストします。
索引モデルが issue の本文から書いたものです。
説明
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)
- 主要言語
- Julia
- スター
- 62
- フォーク
- 30
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
JuliaGraphs/GraphIO.jl のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
JuliaGraphs/GraphIO.jl#82 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
JuliaGraphs/GraphIO.jl#64 · リアクション 1 件 ·
-
Supporting XGMMLオープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
JuliaGraphs/GraphIO.jl#62 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 48/100
JuliaGraphs/GraphIO.jl#61 · コメント 1 件 · リアクション 5 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
JuliaGraphs/GraphIO.jl#60 ·
JuliaGraphs/GraphIO.jl の issue をすべて見る
似ている issue
-
Single-column TKE example: boundary-layer depth description doesn't match Han & Bretherton (2019)オープン
難易度 1/5 1〜3時間 初心者へのやさしさ 82/100
NumericalEarth/Breeze.jl#1143 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
MagneticResonanceImaging/MRIReco.jl#315 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
JuliaMath/BFloat16s.jl#138 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
SciML/DiffEqParamEstim.jl#350 ·
-
QA test-env cannot resolve JET on Julia 1.13: compat ceiling 0.11 excludes the only 1.13-compatible versions対応中かも @ChrisRackauckas-Claude が今日担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
SciML/BlackBoxOptim.jl#314 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信