{"action":"created","issue":{"url":"https://api.github.com/repos/MDAnalysis/mdanalysis/issues/1573","repository_url":"https://api.github.com/repos/MDAnalysis/mdanalysis","labels_url":"https://api.github.com/repos/MDAnalysis/mdanalysis/issues/1573/labels{/name}","comments_url":"https://api.github.com/repos/MDAnalysis/mdanalysis/issues/1573/comments","events_url":"https://api.github.com/repos/MDAnalysis/mdanalysis/issues/1573/events","html_url":"https://github.com/MDAnalysis/mdanalysis/pull/1573","id":247271801,"number":1573,"title":"[WIP] TST: Added traj reader striding asv test","user":{"login":"tylerjereddy","id":7903078,"avatar_url":"https://avatars0.githubusercontent.com/u/7903078?v=4","gravatar_id":"","url":"https://api.github.com/users/tylerjereddy","html_url":"https://github.com/tylerjereddy","followers_url":"https://api.github.com/users/tylerjereddy/followers","following_url":"https://api.github.com/users/tylerjereddy/following{/other_user}","gists_url":"https://api.github.com/users/tylerjereddy/gists{/gist_id}","starred_url":"https://api.github.com/users/tylerjereddy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tylerjereddy/subscriptions","organizations_url":"https://api.github.com/users/tylerjereddy/orgs","repos_url":"https://api.github.com/users/tylerjereddy/repos","events_url":"https://api.github.com/users/tylerjereddy/events{/privacy}","received_events_url":"https://api.github.com/users/tylerjereddy/received_events","type":"User","site_admin":false},"labels":[{"id":195620938,"url":"https://api.github.com/repos/MDAnalysis/mdanalysis/labels/performance","name":"performance","color":"f7c6c7","default":false},{"id":215565587,"url":"https://api.github.com/repos/MDAnalysis/mdanalysis/labels/testing","name":"testing","color":"000000","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2017-08-02T04:43:40Z","updated_at":"2017-09-26T19:54:14Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/MDAnalysis/mdanalysis/pulls/1573","html_url":"https://github.com/MDAnalysis/mdanalysis/pull/1573","diff_url":"https://github.com/MDAnalysis/mdanalysis/pull/1573.diff","patch_url":"https://github.com/MDAnalysis/mdanalysis/pull/1573.patch"},"body":"This PR adds a first draft of `asv` testing code for trajectory reader *striding* (over frames). Using the following command:\r\n\r\n`asv run -e -s 20 ddb57592..e0bc3034 --bench TrajReaderStriding -j`\r\n\r\nProduces the following results for trajectory reader *striding* (note that the test files for the formats may very well have differing numbers of frames & atoms / frame, etc.):\r\n\r\n![traj_reader_bench_asv_striding](https://user-images.githubusercontent.com/7903078/28857945-3967d114-770a-11e7-9428-4707e031c0a8.PNG)\r\n\r\nI'm guessing the spike for DCD and recent adjustment may not be coincidental.\r\n\r\nSome considerations:\r\n- in addition to probing single-frame stride performance we may also want tests that probe frame 'skipping' by N frames, and possibly even trajectory striding in the reverse direction???\r\n- even with just two kinds of performance tests for trajectory readers we already have a fair bit of code duplication -- I suspect some of the setup code should likely be abstracted to a separate function and / or class inheritance should be used\r\n   - as we add more tests of this nature, the way we organize the classes / functions will probably evolve a bit based on what we need to recycle / reuse, etc.\r\n- other trajectory reader formats that should be added?"},"comment":{"url":"https://api.github.com/repos/MDAnalysis/mdanalysis/issues/comments/332316019","html_url":"https://github.com/MDAnalysis/mdanalysis/pull/1573#issuecomment-332316019","issue_url":"https://api.github.com/repos/MDAnalysis/mdanalysis/issues/1573","id":332316019,"user":{"login":"tylerjereddy","id":7903078,"avatar_url":"https://avatars0.githubusercontent.com/u/7903078?v=4","gravatar_id":"","url":"https://api.github.com/users/tylerjereddy","html_url":"https://github.com/tylerjereddy","followers_url":"https://api.github.com/users/tylerjereddy/followers","following_url":"https://api.github.com/users/tylerjereddy/following{/other_user}","gists_url":"https://api.github.com/users/tylerjereddy/gists{/gist_id}","starred_url":"https://api.github.com/users/tylerjereddy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tylerjereddy/subscriptions","organizations_url":"https://api.github.com/users/tylerjereddy/orgs","repos_url":"https://api.github.com/users/tylerjereddy/repos","events_url":"https://api.github.com/users/tylerjereddy/events{/privacy}","received_events_url":"https://api.github.com/users/tylerjereddy/received_events","type":"User","site_admin":false},"created_at":"2017-09-26T19:54:14Z","updated_at":"2017-09-26T19:54:14Z","author_association":"OWNER","body":"With the upstream support for custom conda channels in asv now merged, once our [PR for adding the MDA testsuite to the asv benchmarks](https://github.com/MDAnalysis/mdanalysis/pull/1580) is merged, we should test the updates @kain88-de added here, and consider if there are any other formats that need to be added?\r\n\r\nAlso, one thing I recently learned is that we can be really clever and use separate try/except blocks on the different imports so that older vs. more recent MDAnalysis features can be benchmarked over their full lifetimes in the library (i.e., don't exclude benchmarking an old function because a new function triggered the import exception).\r\n\r\nPerhaps worth starting that best practice here if the features imported here were added to MDA at substantially different 'calendar times?'"}}
{"actor":{"display_login":"tylerjereddy"}}