{"action":"opened","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/15615","repository_url":"https://api.github.com/repos/JuliaLang/julia","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/15615/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/15615/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/15615/events","html_url":"https://github.com/JuliaLang/julia/issues/15615","id":143307633,"number":15615,"title":"6x slowdown in startup of module tests","user":{"login":"wbhart","id":242598,"avatar_url":"https://avatars.githubusercontent.com/u/242598?v=3","gravatar_id":"","url":"https://api.github.com/users/wbhart","html_url":"https://github.com/wbhart","followers_url":"https://api.github.com/users/wbhart/followers","following_url":"https://api.github.com/users/wbhart/following{/other_user}","gists_url":"https://api.github.com/users/wbhart/gists{/gist_id}","starred_url":"https://api.github.com/users/wbhart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wbhart/subscriptions","organizations_url":"https://api.github.com/users/wbhart/orgs","repos_url":"https://api.github.com/users/wbhart/repos","events_url":"https://api.github.com/users/wbhart/events{/privacy}","received_events_url":"https://api.github.com/users/wbhart/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-03-24T17:19:47Z","updated_at":"2016-03-24T17:19:47Z","closed_at":null,"body":"There has been an approximately 6x slowdown in the time it takes the test code in our current Julia project to start up after our module has loaded. The time has gone from 15s to 90s.\r\n\r\nI spent a lot of time git-bisecting the Julia repository to find where the most significant performance regressions occurred. Rather than just present those commits I decided to present all my data. The points at which I have left spaces in the table should correspond to the precise commits where big regressions have occurred.\r\n\r\n41fb1ba good 15s\r\n79a0d7b good\r\n5ea20fc good\r\n275c7e8 good\r\nbea07fc good\r\nc5704ed good\r\n0318444 good\r\n\r\n6396218 bad1\r\n3b7f18a bad1\r\n63daf4f bad1\r\n1bfabbb bad1\r\n179a439 bad1\r\n0b6cab6 bad1\r\nd8ec4a7 bad1\r\n064b03c bad1\r\n53b02a6 bad1\r\nca6f253 bad1 42s\r\n\r\n8f4238a bad2 59s\r\nf67203c bad2 53s\r\naf81431 bad2 58s\r\n\r\n6382116 bad3 73s \r\n24276a5 bad3 74s\r\n79b08ca bad3 73s\r\n93cb2ae bad3 71s\r\n5baedf4 bad3 72s\r\n70a3120 ??   48s\r\n\r\n8af0134 bad4 82s\r\ndef50a0 bad4 78s\r\n039f57b bad4 78s\r\n597dc7b bad4 78s\r\nadc1ed8 bad4 78s\r\nfc469b6 bad4 78s\r\nebf6c64 bad5 82s\r\n\r\nc3039d4 bad6 87s\r\n64dbecf bad6 89s\r\n86e435c bad6 87s\r\n4fba664 bad6 87s\r\na226803 bad6 85s\r\nbe9f208 bad6 87s\r\nmaster  bad6 90s (today)\r\n\r\nLimitations:\r\n\r\n* In the last two groups of commits it is hard to tell precisely where the bad commits are. For all I know things are just slowing down as Julia gets larger and the code gets rearranged in memory.\r\n\r\n* There was at least one point in the 72s range where I had a commit that took only 36s. But after that no Julia commit would build even after doing make clean. I checked git status and nothing looked out of place. Nonetheless I discarded this data point as likely corrupt (and git cloned Julia again).\r\n\r\n* There was a commit 8 days ago where we had reached 120s. But this data is not included as we used a custom Make.user file in order to make use of Cxx. The data above is with no Make.user file."}}