{"action":"created","issue":{"url":"https://api.github.com/repos/Haacked/Scientist.net/issues/62","repository_url":"https://api.github.com/repos/Haacked/Scientist.net","labels_url":"https://api.github.com/repos/Haacked/Scientist.net/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/Haacked/Scientist.net/issues/62/comments","events_url":"https://api.github.com/repos/Haacked/Scientist.net/issues/62/events","html_url":"https://github.com/Haacked/Scientist.net/issues/62","id":159334867,"number":62,"title":"Use and Try blocks run sequentially?","user":{"login":"ryangribble","id":5425163,"avatar_url":"https://avatars.githubusercontent.com/u/5425163?v=3","gravatar_id":"","url":"https://api.github.com/users/ryangribble","html_url":"https://github.com/ryangribble","followers_url":"https://api.github.com/users/ryangribble/followers","following_url":"https://api.github.com/users/ryangribble/following{/other_user}","gists_url":"https://api.github.com/users/ryangribble/gists{/gist_id}","starred_url":"https://api.github.com/users/ryangribble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryangribble/subscriptions","organizations_url":"https://api.github.com/users/ryangribble/orgs","repos_url":"https://api.github.com/users/ryangribble/repos","events_url":"https://api.github.com/users/ryangribble/events{/privacy}","received_events_url":"https://api.github.com/users/ryangribble/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-06-09T06:09:18Z","updated_at":"2016-06-09T22:33:54Z","closed_at":null,"body":"Hey all,\r\n\r\nLove the GitHub Engineering blog post on Scientist and just checking out the .Net port of it... great work!\r\n\r\nI've succesfully implemented an experiment in a webAPI project where I am trying out a new way to do some calculations whilst still providing users with \"the old way\" but starting to gather data on any discrepancies between old and new.  \r\n\r\nThings do \"work\" however it seems that the \"behaviours\" are run one at a time, which means (unless im doing something wrong) that running the control `Use()` and one experimental `Try()` the api call now takes about twice as long as it used to. \r\n\r\nWhat do you think about having an option to stipulate the number of experiments to run concurrently and then having the internals of `ExperimentInstance` handle running multiple tasks in parallel?  In my case I would be happy to run the Control and single Try at the same time, then hopefully the duration/user impact should be roughly what it always has been, but we start to gain the data that lets us ensure consistent results and then perhaps even start to tune the call duration for better performance.  \r\n\r\nOr have I just missed something and it's meant to be doing this already?"},"comment":{"url":"https://api.github.com/repos/Haacked/Scientist.net/issues/comments/225046916","html_url":"https://github.com/Haacked/Scientist.net/issues/62#issuecomment-225046916","issue_url":"https://api.github.com/repos/Haacked/Scientist.net/issues/62","id":225046916,"user":{"login":"Haacked","id":19977,"avatar_url":"https://avatars.githubusercontent.com/u/19977?v=3","gravatar_id":"","url":"https://api.github.com/users/Haacked","html_url":"https://github.com/Haacked","followers_url":"https://api.github.com/users/Haacked/followers","following_url":"https://api.github.com/users/Haacked/following{/other_user}","gists_url":"https://api.github.com/users/Haacked/gists{/gist_id}","starred_url":"https://api.github.com/users/Haacked/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Haacked/subscriptions","organizations_url":"https://api.github.com/users/Haacked/orgs","repos_url":"https://api.github.com/users/Haacked/repos","events_url":"https://api.github.com/users/Haacked/events{/privacy}","received_events_url":"https://api.github.com/users/Haacked/received_events","type":"User","site_admin":true},"created_at":"2016-06-09T22:33:53Z","updated_at":"2016-06-09T22:33:53Z","body":"It occurs to me that if a method under test mutates a variable, the control and experiments also might too. So that's not necessarily a reason to avoid parallelism. The types of code to use Scientist with probably shouldn't mutate things since you'd mutate things multiple times. You'd want to move the mutation out of the code being tested and have the code simply return the correct value.\r\n\r\nSo in theory, since we store _everything_ as tasks, we might be able to make things concurrent by default and test it out."}}
{"actor":{"display_login":"Haacked"}}