{"action":"created","issue":{"url":"https://api.github.com/repos/scalatest/scalatest/issues/1161","repository_url":"https://api.github.com/repos/scalatest/scalatest","labels_url":"https://api.github.com/repos/scalatest/scalatest/issues/1161/labels{/name}","comments_url":"https://api.github.com/repos/scalatest/scalatest/issues/1161/comments","events_url":"https://api.github.com/repos/scalatest/scalatest/issues/1161/events","html_url":"https://github.com/scalatest/scalatest/issues/1161","id":229895744,"number":1161,"title":"Add @noinline for faster Scala.js incremental linking times","user":{"login":"olafurpg","id":1408093,"avatar_url":"https://avatars3.githubusercontent.com/u/1408093?v=3","gravatar_id":"","url":"https://api.github.com/users/olafurpg","html_url":"https://github.com/olafurpg","followers_url":"https://api.github.com/users/olafurpg/followers","following_url":"https://api.github.com/users/olafurpg/following{/other_user}","gists_url":"https://api.github.com/users/olafurpg/gists{/gist_id}","starred_url":"https://api.github.com/users/olafurpg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olafurpg/subscriptions","organizations_url":"https://api.github.com/users/olafurpg/orgs","repos_url":"https://api.github.com/users/olafurpg/repos","events_url":"https://api.github.com/users/olafurpg/events{/privacy}","received_events_url":"https://api.github.com/users/olafurpg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-05-19T07:43:40Z","updated_at":"2017-05-21T13:28:32Z","closed_at":null,"body":"It appears that the Scala.js linker tries to inline all `test(\"\") {}` and `in {}` closures from ScalaTest, resulting in slow incremental linking times for large test suites. See related discussion:\r\nhttps://github.com/scala-js/scala-js/issues/2827#issuecomment-302388572 In summary, it seems that adding `@noinline` to all methods that accept a `testFun: => Any` argument (example diff: https://github.com/dotty-staging/scalatest/commit/2a08a06fac79c991efbb6c59bb8d87466f0f82ed) can speed up incremental linking times for small edits. One informal benchmark from the scalameta/scalameta test suite (~1.000 unit tests) shows a 7x speedup, or 600ms instead of 4.5s.\r\n\r\nWould you be open to accepting a PR adding `@noinline` to common methods like `def test{}` and `def in {}`?"},"comment":{"url":"https://api.github.com/repos/scalatest/scalatest/issues/comments/302936729","html_url":"https://github.com/scalatest/scalatest/issues/1161#issuecomment-302936729","issue_url":"https://api.github.com/repos/scalatest/scalatest/issues/1161","id":302936729,"user":{"login":"ngbinh","id":211327,"avatar_url":"https://avatars2.githubusercontent.com/u/211327?v=3","gravatar_id":"","url":"https://api.github.com/users/ngbinh","html_url":"https://github.com/ngbinh","followers_url":"https://api.github.com/users/ngbinh/followers","following_url":"https://api.github.com/users/ngbinh/following{/other_user}","gists_url":"https://api.github.com/users/ngbinh/gists{/gist_id}","starred_url":"https://api.github.com/users/ngbinh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ngbinh/subscriptions","organizations_url":"https://api.github.com/users/ngbinh/orgs","repos_url":"https://api.github.com/users/ngbinh/repos","events_url":"https://api.github.com/users/ngbinh/events{/privacy}","received_events_url":"https://api.github.com/users/ngbinh/received_events","type":"User","site_admin":false},"created_at":"2017-05-21T13:28:32Z","updated_at":"2017-05-21T13:28:32Z","body":"this would help a plot. At the moment, it takes about 10 minutes for us to `fastOptJS` our test"}}
{"actor":{"display_login":"ngbinh"}}