{"action":"created","issue":{"url":"https://api.github.com/repos/mantidproject/mantid/issues/16591","repository_url":"https://api.github.com/repos/mantidproject/mantid","labels_url":"https://api.github.com/repos/mantidproject/mantid/issues/16591/labels{/name}","comments_url":"https://api.github.com/repos/mantidproject/mantid/issues/16591/comments","events_url":"https://api.github.com/repos/mantidproject/mantid/issues/16591/events","html_url":"https://github.com/mantidproject/mantid/issues/16591","id":159647251,"number":16591,"title":"Workspace history speedup","user":{"login":"AndreiSavici","id":1128952,"avatar_url":"https://avatars.githubusercontent.com/u/1128952?v=3","gravatar_id":"","url":"https://api.github.com/users/AndreiSavici","html_url":"https://github.com/AndreiSavici","followers_url":"https://api.github.com/users/AndreiSavici/followers","following_url":"https://api.github.com/users/AndreiSavici/following{/other_user}","gists_url":"https://api.github.com/users/AndreiSavici/gists{/gist_id}","starred_url":"https://api.github.com/users/AndreiSavici/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndreiSavici/subscriptions","organizations_url":"https://api.github.com/users/AndreiSavici/orgs","repos_url":"https://api.github.com/users/AndreiSavici/repos","events_url":"https://api.github.com/users/AndreiSavici/events{/privacy}","received_events_url":"https://api.github.com/users/AndreiSavici/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mantidproject/mantid/labels/Component:%20Framework","name":"Component: Framework","color":"009800"},{"url":"https://api.github.com/repos/mantidproject/mantid/labels/Misc:%20Core","name":"Misc: Core","color":"5319e7"}],"state":"open","locked":false,"assignee":{"login":"NickDraper","id":1017173,"avatar_url":"https://avatars.githubusercontent.com/u/1017173?v=3","gravatar_id":"","url":"https://api.github.com/users/NickDraper","html_url":"https://github.com/NickDraper","followers_url":"https://api.github.com/users/NickDraper/followers","following_url":"https://api.github.com/users/NickDraper/following{/other_user}","gists_url":"https://api.github.com/users/NickDraper/gists{/gist_id}","starred_url":"https://api.github.com/users/NickDraper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickDraper/subscriptions","organizations_url":"https://api.github.com/users/NickDraper/orgs","repos_url":"https://api.github.com/users/NickDraper/repos","events_url":"https://api.github.com/users/NickDraper/events{/privacy}","received_events_url":"https://api.github.com/users/NickDraper/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/mantidproject/mantid/milestones/58","html_url":"https://github.com/mantidproject/mantid/milestones/Release%203.8","labels_url":"https://api.github.com/repos/mantidproject/mantid/milestones/58/labels","id":1505614,"number":58,"title":"Release 3.8","description":"","creator":{"login":"granrothge","id":5910574,"avatar_url":"https://avatars.githubusercontent.com/u/5910574?v=3","gravatar_id":"","url":"https://api.github.com/users/granrothge","html_url":"https://github.com/granrothge","followers_url":"https://api.github.com/users/granrothge/followers","following_url":"https://api.github.com/users/granrothge/following{/other_user}","gists_url":"https://api.github.com/users/granrothge/gists{/gist_id}","starred_url":"https://api.github.com/users/granrothge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/granrothge/subscriptions","organizations_url":"https://api.github.com/users/granrothge/orgs","repos_url":"https://api.github.com/users/granrothge/repos","events_url":"https://api.github.com/users/granrothge/events{/privacy}","received_events_url":"https://api.github.com/users/granrothge/received_events","type":"User","site_admin":false},"open_issues":620,"closed_issues":94,"state":"open","created_at":"2016-01-13T20:00:53Z","updated_at":"2016-06-13T10:53:30Z","due_on":"2016-10-09T23:00:00Z","closed_at":null},"comments":1,"created_at":"2016-06-10T14:27:03Z","updated_at":"2016-06-13T11:08:11Z","closed_at":null,"body":"This issue is an in-depth look at the performance  problems seen in #16562. PR #16564 is a way to avoid the problem, but we need to find out why history lookup is slow. It seems related to finding the correct loader for files already loaded. The lookup time for a history of a workspace that was processed as part of the group exponentially increases with the number of workspaces in a group. This is unintuitive and has big performance penalty.\r\n\r\n \r\n\r\n"},"comment":{"url":"https://api.github.com/repos/mantidproject/mantid/issues/comments/225551917","html_url":"https://github.com/mantidproject/mantid/issues/16591#issuecomment-225551917","issue_url":"https://api.github.com/repos/mantidproject/mantid/issues/16591","id":225551917,"user":{"login":"NickDraper","id":1017173,"avatar_url":"https://avatars.githubusercontent.com/u/1017173?v=3","gravatar_id":"","url":"https://api.github.com/users/NickDraper","html_url":"https://github.com/NickDraper","followers_url":"https://api.github.com/users/NickDraper/followers","following_url":"https://api.github.com/users/NickDraper/following{/other_user}","gists_url":"https://api.github.com/users/NickDraper/gists{/gist_id}","starred_url":"https://api.github.com/users/NickDraper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickDraper/subscriptions","organizations_url":"https://api.github.com/users/NickDraper/orgs","repos_url":"https://api.github.com/users/NickDraper/repos","events_url":"https://api.github.com/users/NickDraper/events{/privacy}","received_events_url":"https://api.github.com/users/NickDraper/received_events","type":"User","site_admin":false},"created_at":"2016-06-13T11:08:11Z","updated_at":"2016-06-13T11:08:11Z","body":"This is not to do with a group, it is down to the time creating an algorithm (from history) that has a Filename property that has a long (and lengthening) list of filename in it.\r\n\r\nwhen you call LastAlgorithm(), an algorithm is created and reconsituted with the property values that it held from history.\r\nMost of this is lightning fast, but when you set the Filename property, it:\r\n\r\n1. splits the filename into individual files (like this case that had up to 60)\r\n1. for each file finds the correct loader for it (or reports an error if none can be found).\r\n\r\nThe repeated second step is where things slow down.  However this is currently common code to when you are setting the property normally (not from history) where this validation is important."}}
{"actor":{"display_login":"NickDraper"}}