Comments (10)
Same problem on MBP late 2013, 16GB RAM and Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz. Incremental build slow down from 1.2...1.5
to 2.5...2.8
seconds.
from fork-ts-checker-webpack-plugin.
@johnnyreilly sure 👍 just trying to understand whether this is just our project issue or the general issue of this plugin
from fork-ts-checker-webpack-plugin.
Maybe worth fiddling with your settings?
from fork-ts-checker-webpack-plugin.
@johnnyreilly if you are talking about @ivanvoznyakovsky's settings - they are the same as mine, we are working on the same project
if you need more settings provided by me, please specify what you need - will be happy to provide it
from fork-ts-checker-webpack-plugin.
I should say that fork-ts-checker-webpack-plugin is not my project. That said, I'd suggest moving thread-loader and cache-loader out of the mix for now. Focus just on using the plugin. I can see you've tried that; I'm surprised it didn't make any difference.
I can't debug your problem for you but I'd advise taking a look at some working setups that you might find here: https://github.com/TypeStrong/ts-loader/tree/master/examples
Both this: https://github.com/TypeStrong/ts-loader/tree/master/examples/fork-ts-checker
and this: https://github.com/TypeStrong/ts-loader/tree/master/examples/core-js
are probably worth a gander.
from fork-ts-checker-webpack-plugin.
I can't debug your problem for you
Maybe you can advice the way we should try to debug it? Maybe some additional diagnostic information would be helpful for you?
I can see you've tried that; I'm surprised it didn't make any difference.
it makes some difference - it makes things like 10% slower :)
I'd advise taking a look at some working setups
where is the guarantee that in that setups the incremental build speed is not slowed down?
I can see the docs mentioning ~3s
rebuild time which sounds too big for me (we have really big project and as you see, it was 1.5..2 seconds on slower CPU and 1.2..1.5 seconds on faster one)
Have you tried to measure rebuild time without this plugin? Is it faster/slower? Maybe it is a general thing for this plugin to speed up initial build and slow down incremental builds?
from fork-ts-checker-webpack-plugin.
I'm really sorry - I'd love to help more but right now I am snowed.
from fork-ts-checker-webpack-plugin.
I'd suggest this is something to do with your project. The only purpose of this plugin is to speed up builds, with particular focus on incremental build performance. Probably the most useful things you could do is create a minimal reproduction of your slow build and share it on GitHub. That will allow someone to look at your setup and advise. Speaking from my own experience, it's notable that during the creation of a minimal repo, the solution can present itself unexpectedly 😉
from fork-ts-checker-webpack-plugin.
@johnnyreilly the thing is that our repo is not minimal - it has hundreds of our own files and tens of external npm modules imported all over - so I can suppose this incremental builds slowing down issue can stand out only on big projects
So, my question would be - was this tool tested on really big projects? If yes - where I can look at such tests/real life usage examples? If no - maybe you can give some advices how to get such a project? Maybe some other repos already have samples of big TS projects?
from fork-ts-checker-webpack-plugin.
I've created this project because we had very slow incremental build time (about 40 seconds). The project in this stage had about 100k lines of code. Thanks to this plugin our incremental check dropped to ~10 seconds and didn't block emit.
The problem with a semantic check is that it can't be done only for modified files - we need to perform this check on all project files (in fact we could limit it by dependency graph, but there was no easy way using typescript API). Maybe we will be able to optimize this with some new typescript API.
PS. Older versions of TypeScript are faster because it performs fewer checks.
from fork-ts-checker-webpack-plugin.
Related Issues (20)
- Configuration has an unknown property 'resolveTypeReferenceDirectiveModule'. HOT 1
- Incremental mode is not working in webpack devServer
- Solution Builder should set reportDiagnostic on build mode
- error: debug failure. false expression HOT 3
- Update `minimatch` to Latest and Update Import
- Uncaught Exception in yaml - A dependency update is required for `cosmiconfig`
- Use specific lerna module tsconfig on type checking HOT 2
- Emitted files should be added as assets to the compilation HOT 5
- Getting ERROR in compiler.getInfrastructureLogger is not a function HOT 2
- Issues when importing plugin in TypeScript (`index.d.ts` vs `plugin.d.ts`)
- TypeError: config.logger.log is not a function HOT 3
- extends should be an array in typescript 5.0 HOT 2
- Github Actions module 'Ajv' not found HOT 1
- overlay: false not working HOT 1
- Does it respect @ts-nocheck ? HOT 1
- Performance loss between latest and v6.5.3
- class IssueWebpackError extends webpack_1.default.WebpackError when run webpack build
- Type check is slow in incremental mode on watch mode's subsequent runs (not on the first run).
- Fork-ts-checker >= 6 hangs on windows
- `TypeError: Cannot set property mark of #<Object> which has only a getter` HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fork-ts-checker-webpack-plugin.