{"action":"created","issue":{"url":"https://api.github.com/repos/TypeStrong/ts-loader/issues/78","labels_url":"https://api.github.com/repos/TypeStrong/ts-loader/issues/78/labels{/name}","comments_url":"https://api.github.com/repos/TypeStrong/ts-loader/issues/78/comments","events_url":"https://api.github.com/repos/TypeStrong/ts-loader/issues/78/events","html_url":"https://github.com/TypeStrong/ts-loader/issues/78","id":110394357,"number":78,"title":"Incremental build performance dropped","user":{"login":"use-strict","id":9483866,"avatar_url":"https://avatars.githubusercontent.com/u/9483866?v=3","gravatar_id":"","url":"https://api.github.com/users/use-strict","html_url":"https://github.com/use-strict","followers_url":"https://api.github.com/users/use-strict/followers","following_url":"https://api.github.com/users/use-strict/following{/other_user}","gists_url":"https://api.github.com/users/use-strict/gists{/gist_id}","starred_url":"https://api.github.com/users/use-strict/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/use-strict/subscriptions","organizations_url":"https://api.github.com/users/use-strict/orgs","repos_url":"https://api.github.com/users/use-strict/repos","events_url":"https://api.github.com/users/use-strict/events{/privacy}","received_events_url":"https://api.github.com/users/use-strict/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-10-08T08:11:19Z","updated_at":"2015-10-09T07:00:16Z","closed_at":null,"body":"Hi,\r\n\r\nI noticed that our incremental builds started to be considerably slower than they used to, so I ran webpack with ```--profile --progress``` and older versions of ts-loader to see if there are differences. It seems that v0.5.2 is twice as fast as the latest version. I'm unsure how to interpret the profiling data and the webpack source code is a complete mess, so it doesn't help much in that regard.\r\n\r\nHere are the stats:\r\n```\r\n// ts-loader v0.5.2\r\n379ms build modules   \r\n19ms seal\r\n39ms optimize\r\n60ms hashing\r\n35ms create chunk assets\r\n2ms additional chunk assets \r\n0ms optimize chunk assets \r\n0ms optimize assets \r\n99ms emit\r\nHash: fdd096aa48ded051dda3\r\nVersion: webpack 1.12.2\r\nTime: 639ms\r\n```\r\n\r\n```\r\n// ts-loader v0.5.6\r\n357ms build modules   \r\n19ms seal\r\n50ms optimize\r\n51ms hashing\r\n40ms create chunk assets\r\n4ms additional chunk assets \r\n0ms optimize chunk assets \r\n826ms optimize assets\r\n78ms emit\r\nHash: fdd096aa48ded051dda3\r\nVersion: webpack 1.12.2\r\nTime: 1429ms\r\n```\r\n\r\nIt looks like there is a lot of time spent in \"optimize assets\". I don't know what's causing this, but I have a feeling that ts-loader is using some extra dependencies now which may have the side-effect of enabling some webpack optimizations that are meant for production, not development."},"comment":{"url":"https://api.github.com/repos/TypeStrong/ts-loader/issues/comments/146773394","html_url":"https://github.com/TypeStrong/ts-loader/issues/78#issuecomment-146773394","issue_url":"https://api.github.com/repos/TypeStrong/ts-loader/issues/78","id":146773394,"user":{"login":"use-strict","id":9483866,"avatar_url":"https://avatars.githubusercontent.com/u/9483866?v=3","gravatar_id":"","url":"https://api.github.com/users/use-strict","html_url":"https://github.com/use-strict","followers_url":"https://api.github.com/users/use-strict/followers","following_url":"https://api.github.com/users/use-strict/following{/other_user}","gists_url":"https://api.github.com/users/use-strict/gists{/gist_id}","starred_url":"https://api.github.com/users/use-strict/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/use-strict/subscriptions","organizations_url":"https://api.github.com/users/use-strict/orgs","repos_url":"https://api.github.com/users/use-strict/repos","events_url":"https://api.github.com/users/use-strict/events{/privacy}","received_events_url":"https://api.github.com/users/use-strict/received_events","type":"User","site_admin":false},"created_at":"2015-10-09T07:00:16Z","updated_at":"2015-10-09T07:00:16Z","body":"@jbrantly , initial build time is irrelevant. It's expected to take a long time and it's not a problem as long as I don't have to kill the watch and restart it all the time.\r\n\r\nNow some remarks and questions:\r\n- v0.5.2 of ts-loader did not have this overhead, provided it was only checking changed files for errors.\r\n- Checking ALL of the files should scale linearly with project size, which is very bad for us (and for @SonofNun15 apparently)\r\n- Why do we need to check files that have not changed for errors? I know you probably had a good reason for that change, but I need to understand it in the hopes that I can try to provide a better solution. It's also not obvious for me from the linked test."}}