{"action":"created","issue":{"url":"https://api.github.com/repos/dealii/dealii/issues/653","labels_url":"https://api.github.com/repos/dealii/dealii/issues/653/labels{/name}","comments_url":"https://api.github.com/repos/dealii/dealii/issues/653/comments","events_url":"https://api.github.com/repos/dealii/dealii/issues/653/events","html_url":"https://github.com/dealii/dealii/pull/653","id":60260630,"number":653,"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},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-03-08T15:12:06Z","updated_at":"2015-03-22T14:49:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dealii/dealii/pulls/653","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"},"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."},"comment":{"url":"https://api.github.com/repos/dealii/dealii/issues/comments/84624921","html_url":"https://github.com/dealii/dealii/pull/653#issuecomment-84624921","issue_url":"https://api.github.com/repos/dealii/dealii/issues/653","id":84624921,"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},"created_at":"2015-03-22T14:49:16Z","updated_at":"2015-03-22T14:49:16Z","body":"Okay, I think I got most places. I opted for using ```dsp``` in all examples except the first one (step-2)."}}