{"action":"created","comment":{"url":"https://api.github.com/repos/dealii/dealii/pulls/comments/26901839","id":26901839,"diff_hunk":"@@ -709,22 +710,22 @@ namespace Step14\n                       ConstraintMatrix &)\n         = &DoFTools::make_hanging_node_constraints;\n \n-      Threads::Task<> side_task\n-        = Threads::new_task (mhnc_p,\n-                             dof_handler,\n-                             hanging_node_constraints);\n+      // Start a side task then continue on the main thread\n+      Threads::Task<> side_task(std_cxx11::bind(mhnc_p,std_cxx11::cref(dof_handler),\n+                                                std_cxx11::ref(hanging_node_constraints)));","path":"examples/step-14/step-14.cc","position":18,"original_position":18,"commit_id":"ceb95444570d0bb019d58b5ad73ed319699f257b","original_commit_id":"ceb95444570d0bb019d58b5ad73ed319699f257b","user":{"login":"bangerth","id":7504421,"avatar_url":"https://avatars.githubusercontent.com/u/7504421?v=3","gravatar_id":"","url":"https://api.github.com/users/bangerth","html_url":"https://github.com/bangerth","followers_url":"https://api.github.com/users/bangerth/followers","following_url":"https://api.github.com/users/bangerth/following{/other_user}","gists_url":"https://api.github.com/users/bangerth/gists{/gist_id}","starred_url":"https://api.github.com/users/bangerth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bangerth/subscriptions","organizations_url":"https://api.github.com/users/bangerth/orgs","repos_url":"https://api.github.com/users/bangerth/repos","events_url":"https://api.github.com/users/bangerth/events{/privacy}","received_events_url":"https://api.github.com/users/bangerth/received_events","type":"User","site_admin":false},"body":"This is certainly the C++11 way of writing the code, but any reason to chose the syntax here?","created_at":"2015-03-22T11:11:47Z","updated_at":"2015-03-22T11:11:47Z","html_url":"https://github.com/dealii/dealii/pull/653#discussion_r26901839","pull_request_url":"https://api.github.com/repos/dealii/dealii/pulls/653","_links":{"self":{"href":"https://api.github.com/repos/dealii/dealii/pulls/comments/26901839"},"html":{"href":"https://github.com/dealii/dealii/pull/653#discussion_r26901839"},"pull_request":{"href":"https://api.github.com/repos/dealii/dealii/pulls/653"}}},"pull_request":{"url":"https://api.github.com/repos/dealii/dealii/pulls/653","id":30720992,"html_url":"https://github.com/dealii/dealii/pull/653","diff_url":"https://github.com/dealii/dealii/pull/653.diff","patch_url":"https://github.com/dealii/dealii/pull/653.patch","issue_url":"https://api.github.com/repos/dealii/dealii/issues/653","number":653,"state":"open","locked":false,"title":"[WIP] Rework Compressed*SparsityPattern","user":{"login":"tjhei","id":1531285,"avatar_url":"https://avatars.githubusercontent.com/u/1531285?v=3","gravatar_id":"","url":"https://api.github.com/users/tjhei","html_url":"https://github.com/tjhei","followers_url":"https://api.github.com/users/tjhei/followers","following_url":"https://api.github.com/users/tjhei/following{/other_user}","gists_url":"https://api.github.com/users/tjhei/gists{/gist_id}","starred_url":"https://api.github.com/users/tjhei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjhei/subscriptions","organizations_url":"https://api.github.com/users/tjhei/orgs","repos_url":"https://api.github.com/users/tjhei/repos","events_url":"https://api.github.com/users/tjhei/events{/privacy}","received_events_url":"https://api.github.com/users/tjhei/received_events","type":"User","site_admin":false},"body":"- rename CompressedSimpleSparsityPattern to DynamicSparsityPattern\r\n- deprecate all Compressed*SparsityPattern classes\r\n- same for BlockCompressed*SparsityPattern\r\n- update examples\r\n- replace non-dynamic sparsity creation in step-7, 8, 9, 13, 14, 16, 23, 24, 25, 28, 29, 35\r\n\r\nMotivation for removing the other compressed objects:\r\nNumber of degrees of freedom: 274625\r\nFE_Q<3>(4)\r\nCompressedSimple vmpeak:  749024 rss:  530804 make: 5.99s copy: 3.58s\r\nCompressed       vmpeak:  744880 rss:  526852 make: 8.59s copy: 3.64s\r\nCompressedSet    vmpeak: 3184880 rss: 2966776 make: 92s   copy: 18s\r\n\r\nOr in Martin's words:\r\nI remember having looked into compute times for the DoFTools::make_sparsity_pattern in detail some five years ago and all benchmarks showed CompressedSimpleSparsityPattern as the fastest of the three. The internal data structure in CSimpleSP is std::vector, thus simpler than plain CSP where there is an additional array of length 8 with 'fresh' entries about to be submitted but otherwise very similar. std::set as used in CSetSP does way too many memory allocations and is most likely slower than inserting into a sorted vector for almost all imaginable loads with up to a few hundred entries. In particular for how we mostly use sparsity patterns where each row gets touched as many times as we have adjacent elements to that DoF.\r\n\r\nLast but not least, CSimpleSP is the only one with the appropriate infrastructure for parallel distributed computations where rows use an additional IndexSet argument.","created_at":"2015-03-08T15:12:06Z","updated_at":"2015-03-22T11:11:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"32e8c42224d965ddfd485c3df86405af7e4a9e4a","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dealii/dealii/pulls/653/commits","review_comments_url":"https://api.github.com/repos/dealii/dealii/pulls/653/comments","review_comment_url":"https://api.github.com/repos/dealii/dealii/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dealii/dealii/issues/653/comments","statuses_url":"https://api.github.com/repos/dealii/dealii/statuses/ceb95444570d0bb019d58b5ad73ed319699f257b","head":{"label":"tjhei:replace_compressed_sp","ref":"replace_compressed_sp","sha":"ceb95444570d0bb019d58b5ad73ed319699f257b","user":{"login":"tjhei","id":1531285,"avatar_url":"https://avatars.githubusercontent.com/u/1531285?v=3","gravatar_id":"","url":"https://api.github.com/users/tjhei","html_url":"https://github.com/tjhei","followers_url":"https://api.github.com/users/tjhei/followers","following_url":"https://api.github.com/users/tjhei/following{/other_user}","gists_url":"https://api.github.com/users/tjhei/gists{/gist_id}","starred_url":"https://api.github.com/users/tjhei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjhei/subscriptions","organizations_url":"https://api.github.com/users/tjhei/orgs","repos_url":"https://api.github.com/users/tjhei/repos","events_url":"https://api.github.com/users/tjhei/events{/privacy}","received_events_url":"https://api.github.com/users/tjhei/received_events","type":"User","site_admin":false},"repo":{"id":22073053,"name":"dealii","full_name":"tjhei/dealii","owner":{"login":"tjhei","id":1531285,"avatar_url":"https://avatars.githubusercontent.com/u/1531285?v=3","gravatar_id":"","url":"https://api.github.com/users/tjhei","html_url":"https://github.com/tjhei","followers_url":"https://api.github.com/users/tjhei/followers","following_url":"https://api.github.com/users/tjhei/following{/other_user}","gists_url":"https://api.github.com/users/tjhei/gists{/gist_id}","starred_url":"https://api.github.com/users/tjhei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjhei/subscriptions","organizations_url":"https://api.github.com/users/tjhei/orgs","repos_url":"https://api.github.com/users/tjhei/repos","events_url":"https://api.github.com/users/tjhei/events{/privacy}","received_events_url":"https://api.github.com/users/tjhei/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tjhei/dealii","description":"","fork":true,"url":"https://api.github.com/repos/tjhei/dealii","forks_url":"https://api.github.com/repos/tjhei/dealii/forks","keys_url":"https://api.github.com/repos/tjhei/dealii/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tjhei/dealii/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tjhei/dealii/teams","hooks_url":"https://api.github.com/repos/tjhei/dealii/hooks","issue_events_url":"https://api.github.com/repos/tjhei/dealii/issues/events{/number}","events_url":"https://api.github.com/repos/tjhei/dealii/events","assignees_url":"https://api.github.com/repos/tjhei/dealii/assignees{/user}","branches_url":"https://api.github.com/repos/tjhei/dealii/branches{/branch}","tags_url":"https://api.github.com/repos/tjhei/dealii/tags","blobs_url":"https://api.github.com/repos/tjhei/dealii/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tjhei/dealii/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tjhei/dealii/git/refs{/sha}","trees_url":"https://api.github.com/repos/tjhei/dealii/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tjhei/dealii/statuses/{sha}","languages_url":"https://api.github.com/repos/tjhei/dealii/languages","stargazers_url":"https://api.github.com/repos/tjhei/dealii/stargazers","contributors_url":"https://api.github.com/repos/tjhei/dealii/contributors","subscribers_url":"https://api.github.com/repos/tjhei/dealii/subscribers","subscription_url":"https://api.github.com/repos/tjhei/dealii/subscription","commits_url":"https://api.github.com/repos/tjhei/dealii/commits{/sha}","git_commits_url":"https://api.github.com/repos/tjhei/dealii/git/commits{/sha}","comments_url":"https://api.github.com/repos/tjhei/dealii/comments{/number}","issue_comment_url":"https://api.github.com/repos/tjhei/dealii/issues/comments{/number}","contents_url":"https://api.github.com/repos/tjhei/dealii/contents/{+path}","compare_url":"https://api.github.com/repos/tjhei/dealii/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tjhei/dealii/merges","archive_url":"https://api.github.com/repos/tjhei/dealii/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tjhei/dealii/downloads","issues_url":"https://api.github.com/repos/tjhei/dealii/issues{/number}","pulls_url":"https://api.github.com/repos/tjhei/dealii/pulls{/number}","milestones_url":"https://api.github.com/repos/tjhei/dealii/milestones{/number}","notifications_url":"https://api.github.com/repos/tjhei/dealii/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tjhei/dealii/labels{/name}","releases_url":"https://api.github.com/repos/tjhei/dealii/releases{/id}","created_at":"2014-07-21T17:16:17Z","updated_at":"2014-12-19T14:48:54Z","pushed_at":"2015-03-21T23:09:30Z","git_url":"git://github.com/tjhei/dealii.git","ssh_url":"git@github.com:tjhei/dealii.git","clone_url":"https://github.com/tjhei/dealii.git","svn_url":"https://github.com/tjhei/dealii","homepage":null,"size":109254,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dealii:master","ref":"master","sha":"134cd028541b36f82623783c56c9ab7e1128f704","user":{"login":"dealii","id":7506070,"avatar_url":"https://avatars.githubusercontent.com/u/7506070?v=3","gravatar_id":"","url":"https://api.github.com/users/dealii","html_url":"https://github.com/dealii","followers_url":"https://api.github.com/users/dealii/followers","following_url":"https://api.github.com/users/dealii/following{/other_user}","gists_url":"https://api.github.com/users/dealii/gists{/gist_id}","starred_url":"https://api.github.com/users/dealii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dealii/subscriptions","organizations_url":"https://api.github.com/users/dealii/orgs","repos_url":"https://api.github.com/users/dealii/repos","events_url":"https://api.github.com/users/dealii/events{/privacy}","received_events_url":"https://api.github.com/users/dealii/received_events","type":"Organization","site_admin":false},"repo":{"id":21943980,"name":"dealii","full_name":"dealii/dealii","owner":{"login":"dealii","id":7506070,"avatar_url":"https://avatars.githubusercontent.com/u/7506070?v=3","gravatar_id":"","url":"https://api.github.com/users/dealii","html_url":"https://github.com/dealii","followers_url":"https://api.github.com/users/dealii/followers","following_url":"https://api.github.com/users/dealii/following{/other_user}","gists_url":"https://api.github.com/users/dealii/gists{/gist_id}","starred_url":"https://api.github.com/users/dealii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dealii/subscriptions","organizations_url":"https://api.github.com/users/dealii/orgs","repos_url":"https://api.github.com/users/dealii/repos","events_url":"https://api.github.com/users/dealii/events{/privacy}","received_events_url":"https://api.github.com/users/dealii/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dealii/dealii","description":"The development repository for the deal.II finite element library.","fork":false,"url":"https://api.github.com/repos/dealii/dealii","forks_url":"https://api.github.com/repos/dealii/dealii/forks","keys_url":"https://api.github.com/repos/dealii/dealii/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dealii/dealii/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dealii/dealii/teams","hooks_url":"https://api.github.com/repos/dealii/dealii/hooks","issue_events_url":"https://api.github.com/repos/dealii/dealii/issues/events{/number}","events_url":"https://api.github.com/repos/dealii/dealii/events","assignees_url":"https://api.github.com/repos/dealii/dealii/assignees{/user}","branches_url":"https://api.github.com/repos/dealii/dealii/branches{/branch}","tags_url":"https://api.github.com/repos/dealii/dealii/tags","blobs_url":"https://api.github.com/repos/dealii/dealii/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dealii/dealii/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dealii/dealii/git/refs{/sha}","trees_url":"https://api.github.com/repos/dealii/dealii/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dealii/dealii/statuses/{sha}","languages_url":"https://api.github.com/repos/dealii/dealii/languages","stargazers_url":"https://api.github.com/repos/dealii/dealii/stargazers","contributors_url":"https://api.github.com/repos/dealii/dealii/contributors","subscribers_url":"https://api.github.com/repos/dealii/dealii/subscribers","subscription_url":"https://api.github.com/repos/dealii/dealii/subscription","commits_url":"https://api.github.com/repos/dealii/dealii/commits{/sha}","git_commits_url":"https://api.github.com/repos/dealii/dealii/git/commits{/sha}","comments_url":"https://api.github.com/repos/dealii/dealii/comments{/number}","issue_comment_url":"https://api.github.com/repos/dealii/dealii/issues/comments{/number}","contents_url":"https://api.github.com/repos/dealii/dealii/contents/{+path}","compare_url":"https://api.github.com/repos/dealii/dealii/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dealii/dealii/merges","archive_url":"https://api.github.com/repos/dealii/dealii/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dealii/dealii/downloads","issues_url":"https://api.github.com/repos/dealii/dealii/issues{/number}","pulls_url":"https://api.github.com/repos/dealii/dealii/pulls{/number}","milestones_url":"https://api.github.com/repos/dealii/dealii/milestones{/number}","notifications_url":"https://api.github.com/repos/dealii/dealii/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dealii/dealii/labels{/name}","releases_url":"https://api.github.com/repos/dealii/dealii/releases{/id}","created_at":"2014-07-17T14:00:26Z","updated_at":"2015-03-18T22:03:37Z","pushed_at":"2015-03-22T10:44:04Z","git_url":"git://github.com/dealii/dealii.git","ssh_url":"git@github.com:dealii/dealii.git","clone_url":"https://github.com/dealii/dealii.git","svn_url":"https://github.com/dealii/dealii","homepage":"http://www.dealii.org/","size":135751,"stargazers_count":48,"watchers_count":48,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":59,"mirror_url":null,"open_issues_count":84,"forks":59,"open_issues":84,"watchers":48,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dealii/dealii/pulls/653"},"html":{"href":"https://github.com/dealii/dealii/pull/653"},"issue":{"href":"https://api.github.com/repos/dealii/dealii/issues/653"},"comments":{"href":"https://api.github.com/repos/dealii/dealii/issues/653/comments"},"review_comments":{"href":"https://api.github.com/repos/dealii/dealii/pulls/653/comments"},"review_comment":{"href":"https://api.github.com/repos/dealii/dealii/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dealii/dealii/pulls/653/commits"},"statuses":{"href":"https://api.github.com/repos/dealii/dealii/statuses/ceb95444570d0bb019d58b5ad73ed319699f257b"}}}}