{"action":"created","issue":{"url":"https://api.github.com/repos/Gnimuc/Hungarian.jl/issues/12","repository_url":"https://api.github.com/repos/Gnimuc/Hungarian.jl","labels_url":"https://api.github.com/repos/Gnimuc/Hungarian.jl/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/Gnimuc/Hungarian.jl/issues/12/comments","events_url":"https://api.github.com/repos/Gnimuc/Hungarian.jl/issues/12/events","html_url":"https://github.com/Gnimuc/Hungarian.jl/pull/12","id":296163495,"number":12,"title":"[WIP]Improve scalability","user":{"login":"Gnimuc","id":7437173,"avatar_url":"https://avatars2.githubusercontent.com/u/7437173?v=4","gravatar_id":"","url":"https://api.github.com/users/Gnimuc","html_url":"https://github.com/Gnimuc","followers_url":"https://api.github.com/users/Gnimuc/followers","following_url":"https://api.github.com/users/Gnimuc/following{/other_user}","gists_url":"https://api.github.com/users/Gnimuc/gists{/gist_id}","starred_url":"https://api.github.com/users/Gnimuc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gnimuc/subscriptions","organizations_url":"https://api.github.com/users/Gnimuc/orgs","repos_url":"https://api.github.com/users/Gnimuc/repos","events_url":"https://api.github.com/users/Gnimuc/events{/privacy}","received_events_url":"https://api.github.com/users/Gnimuc/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-11T05:51:59Z","updated_at":"2018-02-11T06:07:18Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/Gnimuc/Hungarian.jl/pulls/12","html_url":"https://github.com/Gnimuc/Hungarian.jl/pull/12","diff_url":"https://github.com/Gnimuc/Hungarian.jl/pull/12.diff","patch_url":"https://github.com/Gnimuc/Hungarian.jl/pull/12.patch"},"body":"Here some benchmark results:\r\n```julia\r\nusing PkgBenchmark\r\njulia> judge(\"Hungarian\", \"speed-up\", \"master\")\r\nINFO: Resolving dependencies for benchmark\r\nINFO: No packages to install, update or remove\r\nINFO: Running benchmarks...\r\nUsing benchmark tuning data in /Users/gnimuc/.julia/v0.6/.benchmarks/Hungarian/.tune.jld\r\nINFO: No packages to install, update or remove\r\nFile results of this run? (commit=354ffe, resultsdir=/Users/gnimuc/.julia/v0.6/.benchmarks/Hungarian/results) (Y/n) y\r\nINFO: Results of the benchmark were written to /Users/gnimuc/.julia/v0.6/.benchmarks/Hungarian/results/354ffe3f33ef4a0e1683d4aea6ad64485c8d6c53.jld\r\nINFO: Reading results for 04d0fe from /Users/gnimuc/.julia/v0.6/.benchmarks/Hungarian/results\r\n1-element BenchmarkTools.BenchmarkGroup:\r\n  tags: []\r\n  \"square matrix\" => 8-element BenchmarkGroup([])\r\n\r\njulia> showall(ans)\r\n1-element BenchmarkTools.BenchmarkGroup:\r\n  tags: []\r\n  \"square matrix\" => 8-element BenchmarkTools.BenchmarkGroup:\r\n\t  tags: []\r\n\t  \"10 x 10\" => TrialJudgement(-5.48% => improvement)\r\n\t  \"100 x 100\" => TrialJudgement(-30.11% => improvement)\r\n\t  \"50 x 50\" => TrialJudgement(-16.16% => improvement)\r\n\t  \"200 x 200\" => TrialJudgement(-45.62% => improvement)\r\n\t  \"1000 x 1000\" => TrialJudgement(-73.54% => improvement)\r\n\t  \"400 x 400\" => TrialJudgement(-58.71% => improvement)\r\n\t  \"800 x 800\" => TrialJudgement(-71.12% => improvement)\r\n\t  \"2000 x 2000\" => TrialJudgement(-74.34% => improvement)\r\n```"},"comment":{"url":"https://api.github.com/repos/Gnimuc/Hungarian.jl/issues/comments/364725058","html_url":"https://github.com/Gnimuc/Hungarian.jl/pull/12#issuecomment-364725058","issue_url":"https://api.github.com/repos/Gnimuc/Hungarian.jl/issues/12","id":364725058,"user":{"login":"Gnimuc","id":7437173,"avatar_url":"https://avatars2.githubusercontent.com/u/7437173?v=4","gravatar_id":"","url":"https://api.github.com/users/Gnimuc","html_url":"https://github.com/Gnimuc","followers_url":"https://api.github.com/users/Gnimuc/followers","following_url":"https://api.github.com/users/Gnimuc/following{/other_user}","gists_url":"https://api.github.com/users/Gnimuc/gists{/gist_id}","starred_url":"https://api.github.com/users/Gnimuc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gnimuc/subscriptions","organizations_url":"https://api.github.com/users/Gnimuc/orgs","repos_url":"https://api.github.com/users/Gnimuc/repos","events_url":"https://api.github.com/users/Gnimuc/events{/privacy}","received_events_url":"https://api.github.com/users/Gnimuc/received_events","type":"User","site_admin":false},"created_at":"2018-02-11T06:07:18Z","updated_at":"2018-02-11T06:07:18Z","author_association":"OWNER","body":"```julia\r\n2-element BenchmarkTools.BenchmarkGroup:\r\n  tags: []\r\n  \"Munkres\" => 8-element BenchmarkTools.BenchmarkGroup:\r\n\t  tags: []\r\n\t  \"10 x 10\" => Trial(102.671 μs)\r\n\t  \"100 x 100\" => Trial(3.921 ms)\r\n\t  \"50 x 50\" => Trial(977.296 μs)\r\n\t  \"200 x 200\" => Trial(20.839 ms)\r\n\t  \"1000 x 1000\" => Trial(4.050 s)\r\n\t  \"400 x 400\" => Trial(194.381 ms)\r\n\t  \"800 x 800\" => Trial(1.975 s)\r\n\t  \"2000 x 2000\" => Trial(39.004 s)\r\n  \"Hungarian\" => 8-element BenchmarkTools.BenchmarkGroup:\r\n\t  tags: []\r\n\t  \"10 x 10\" => Trial(12.428 μs)\r\n\t  \"100 x 100\" => Trial(1.922 ms)\r\n\t  \"50 x 50\" => Trial(297.304 μs)\r\n\t  \"200 x 200\" => Trial(8.417 ms)\r\n\t  \"1000 x 1000\" => Trial(784.957 ms)\r\n\t  \"400 x 400\" => Trial(54.454 ms)\r\n\t  \"800 x 800\" => Trial(445.907 ms)\r\n\t  \"2000 x 2000\" => Trial(6.305 s)\r\n```\r\nIt looks like we can finish a `2000x2000` assignment problem in about `6s` comparing to current master's `25s`. The only bottleneck is finding the minimum:\r\n\r\nhttps://github.com/Gnimuc/Hungarian.jl/blob/a53e23c9851a7540c7221163ec14a1ab2d13fec4/src/Munkres.jl#L297-L306\r\n\r\nI feel like it still can be further improved(e.g. use multi-threading), but I've not test it yet. \r\n\r\ncc @dourouc05 Any feedback on this?"}}
{"actor":{"display_login":"Gnimuc"}}