Skip to content

Performance, compilation taking longer than usual. #718

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
tomitrescak opened this issue Nov 13, 2015 · 6 comments
Closed

Performance, compilation taking longer than usual. #718

tomitrescak opened this issue Nov 13, 2015 · 6 comments

Comments

@tomitrescak
Copy link

@basarat did anything change performance wise? After the last update my compilation takes about three times longer. Before I compiled my large projects in 5-8 seconds, now it can take up to 40 seconds. Was there any change that could affect this? If so, I can investigate which version is the culprit.

@basarat
Copy link
Member

basarat commented Nov 13, 2015

7.9 has a change where it looks at expanding the referenced file more aggresively https://github.com/TypeStrong/atom-typescript/releases/tag/v7.9.0

7.8 https://github.com/TypeStrong/atom-typescript/releases/tag/v7.8.0 brings in TS latest, I've been using it at work and hasn't slowed down for me

Is this a new project? Can you share your tsconfig.json, suspect you might be using noEmitOnError : #603 🌹

@tomitrescak
Copy link
Author

Thanks for the fast response. I paste the whole tsconfig so you get the idea of how many files we are dealing with:

{
  "compileOnSave": true,
  "compilerOptions": {
    "target": "es6",
    "declaration": false,
    "noImplicitAny": true,
    "removeComments": false,
    "noLib": false,
    "preserveConstEnums": true,
    "noEmitHelpers": true,
    "noEmit": true,
    "suppressImplicitAnyIndexErrors": true,
    "jsx": "preserve",
    "experimentalDecorators": true,
    "experimentalAsyncFunctions": true,
    "sourceMap": true
  },
  "awesomeTypescriptLoaderOptions": {
    "doTypeCheck": true,
    "useBabel": false,
    "emitRequireType": true,
    "forkChecker": true
  },
  "filesGlob": [
    "modules/**/*.ts",
    "modules/**/*.tsx"
  ],
  "files": [
    "modules/ClaraApp/client/book/book_model.ts",
    "modules/ClaraApp/client/components/achievements/achievement_model.ts",
    "modules/ClaraApp/client/components/board/board_editor_state.ts",
    "modules/ClaraApp/client/components/board/board_message.ts",
    "modules/ClaraApp/client/components/board/board_model.ts",
    "modules/ClaraApp/client/components/board/board_shared.ts",
    "modules/ClaraApp/client/components/board/board_tile_model.ts",
    "modules/ClaraApp/client/components/board/board_validation_model.ts",
    "modules/ClaraApp/client/components/board/board_view_model.ts",
    "modules/ClaraApp/client/components/debugger/debugger_model.ts",
    "modules/ClaraApp/client/components/debugger/debugger_shared.ts",
    "modules/ClaraApp/client/components/notifications/notification_manager.ts",
    "modules/ClaraApp/client/components/permissions/permission_model.ts",
    "modules/ClaraApp/client/components/solution/solution_model.ts",
    "modules/ClaraApp/client/components/text_editor/text_file.ts",
    "modules/ClaraApp/client/exercise/exercise_model.ts",
    "modules/ClaraApp/client/lib/i18n/i18n.en.ts",
    "modules/ClaraApp/client/main.ts",
    "modules/ClaraApp/client/practical/practical_model.ts",
    "modules/ClaraApp/client/schedule/schedule_model.ts",
    "modules/ClaraApp/client/shared/application_state.ts",
    "modules/ClaraApp/client/shared/binding.ts",
    "modules/ClaraApp/client/shared/exceptions.ts",
    "modules/ClaraApp/client/shared/helpers_client.ts",
    "modules/ClaraApp/client/shared/helpers.ts",
    "modules/ClaraApp/client/shared/meteor_component.ts",
    "modules/ClaraApp/client/shared/react-layout.ts",
    "modules/ClaraApp/client/shared/schemas.ts",
    "modules/ClaraApp/client/shared/user.ts",
    "modules/ClaraApp/client/sites/site_model.ts",
    "modules/ClaraApp/client/worlds/tile_model.ts",
    "modules/ClaraApp/client/worlds/universe_model.ts",
    "modules/ClaraApp/client/worlds/world_model.ts",
    "modules/ClaraApp/client/worlds/world_theme_model.ts",
    "modules/ClaraApp/client/worlds/worlds_shared.ts",
    "modules/ClaraApp/collections/achievements_collection.ts",
    "modules/ClaraApp/collections/book_collection.ts",
    "modules/ClaraApp/collections/configuration_collection.ts",
    "modules/ClaraApp/collections/exercises_collection.ts",
    "modules/ClaraApp/collections/history_collection.ts",
    "modules/ClaraApp/collections/notifications_collection.ts",
    "modules/ClaraApp/collections/practical_collection.ts",
    "modules/ClaraApp/collections/results_collection.ts",
    "modules/ClaraApp/collections/schedules_collection.ts",
    "modules/ClaraApp/collections/sites_collection.ts",
    "modules/ClaraApp/collections/solution_collection.ts",
    "modules/ClaraApp/collections/worlds_collection.ts",
    "modules/ClaraApp/methods/configuration_methods.ts",
    "modules/ClaraApp/methods/history_methods.ts",
    "modules/ClaraApp/methods/mail_methods.ts",
    "modules/ClaraApp/methods/practical_methods.ts",
    "modules/ClaraApp/methods/schedule_methods.ts",
    "modules/ClaraApp/methods/solution_methods.ts",
    "modules/ClaraApp/methods/uploads_methods.ts",
    "modules/ClaraApp/server/main.ts",
    "modules/ClaraApp/server/publications/achievement_publications.ts",
    "modules/ClaraApp/server/publications/admin_publications.ts",
    "modules/ClaraApp/server/publications/book_publication.ts",
    "modules/ClaraApp/server/publications/exercise_publications.ts",
    "modules/ClaraApp/server/publications/groups_publications.ts",
    "modules/ClaraApp/server/publications/leaderboards_publications.ts",
    "modules/ClaraApp/server/publications/notifications_publications.ts",
    "modules/ClaraApp/server/publications/practical_publications.ts",
    "modules/ClaraApp/server/publications/schedule_publications.ts",
    "modules/ClaraApp/server/publications/sites_publications.ts",
    "modules/ClaraApp/server/publications/tutors_publications.ts",
    "modules/ClaraApp/server/publications/world_publications.ts",
    "modules/ClaraApp/server/setup.ts",
    "modules/TodoAppTS/collections/Tasks.ts",
    "modules/TodoAppTS/server/todo-subscriptions.ts",
    "modules/TodoAppTS/todo-methods.ts",
    "modules/typings/meteor/handlebars.d.ts",
    "modules/typings/meteor/meteor.d.ts",
    "modules/typings/meteor/node-fibers.d.ts",
    "modules/typings/meteor/node.d.ts",
    "modules/typings/packages.d.ts",
    "modules/typings/packages/accounts.d.ts",
    "modules/typings/packages/ace.d.ts",
    "modules/typings/packages/backbone.d.ts",
    "modules/typings/packages/bootstrap.d.ts",
    "modules/typings/packages/collection2.d.ts",
    "modules/typings/packages/collectionfs.d.ts",
    "modules/typings/packages/d3.d.ts",
    "modules/typings/packages/errors.d.ts",
    "modules/typings/packages/flash-messages.d.ts",
    "modules/typings/packages/flowRouter.d.ts",
    "modules/typings/packages/google-maps-smart-package.d.ts",
    "modules/typings/packages/google.maps.d.ts",
    "modules/typings/packages/ironrouter.d.ts",
    "modules/typings/packages/jquery.d.ts",
    "modules/typings/packages/kineticjs.d.ts",
    "modules/typings/packages/lodash.d.ts",
    "modules/typings/packages/marked.d.ts",
    "modules/typings/packages/messageFormat.d.ts",
    "modules/typings/packages/meteor-typescript-utils.d.ts",
    "modules/typings/packages/moment-node.d.ts",
    "modules/typings/packages/moment.d.ts",
    "modules/typings/packages/paginated-subscription.d.ts",
    "modules/typings/packages/pickadate.d.ts",
    "modules/typings/packages/roles.d.ts",
    "modules/typings/packages/semanticui.d.ts",
    "modules/typings/packages/smallPackages.d.ts",
    "modules/typings/packages/subsManager.d.ts",
    "modules/typings/packages/t9n.d.ts",
    "modules/typings/packages/tomiUploads.d.ts",
    "modules/typings/packages/underscore.d.ts",
    "modules/typings/packages/underscore.string.d.ts",
    "modules/typings/typings/react-dom/react-dom.d.ts",
    "modules/typings/typings/react/react-addons.d.ts",
    "modules/typings/typings/react/react-mixins.d.ts",
    "modules/typings/typings/react/react.d.ts",
    "modules/ClaraApp/client/admin/activity_view.tsx",
    "modules/ClaraApp/client/admin/admin_router.tsx",
    "modules/ClaraApp/client/admin/group_mail_view.tsx",
    "modules/ClaraApp/client/application/layouts/clearLayout.tsx",
    "modules/ClaraApp/client/application/layouts/main_layout.tsx",
    "modules/ClaraApp/client/application/layouts/reactive_layout.tsx",
    "modules/ClaraApp/client/application/layouts/user_layout.tsx",
    "modules/ClaraApp/client/application/loading.tsx",
    "modules/ClaraApp/client/application/menus.tsx",
    "modules/ClaraApp/client/application/not_found.tsx",
    "modules/ClaraApp/client/application/prohibited.tsx",
    "modules/ClaraApp/client/book/book_editor.tsx",
    "modules/ClaraApp/client/book/book_router.tsx",
    "modules/ClaraApp/client/book/book.tsx",
    "modules/ClaraApp/client/calendar/calendar_router.tsx",
    "modules/ClaraApp/client/calendar/calendar_view.tsx",
    "modules/ClaraApp/client/components/achievements/badges_view.tsx",
    "modules/ClaraApp/client/components/avatar/avatar_view.tsx",
    "modules/ClaraApp/client/components/board/board_view.tsx",
    "modules/ClaraApp/client/components/comments/comments_view.tsx",
    "modules/ClaraApp/client/components/debugger/debugger_view.tsx",
    "modules/ClaraApp/client/components/groups/groups_search.tsx",
    "modules/ClaraApp/client/components/history/history_view.tsx",
    "modules/ClaraApp/client/components/markdown/markdown_view.tsx",
    "modules/ClaraApp/client/components/markdown/markdown_with_header.tsx",
    "modules/ClaraApp/client/components/notifications/notifications_view.tsx",
    "modules/ClaraApp/client/components/permissions/permission_admin.tsx",
    "modules/ClaraApp/client/components/search/search_bar.tsx",
    "modules/ClaraApp/client/components/tabs/tab_control.tsx",
    "modules/ClaraApp/client/components/tabs/tab_menu.tsx",
    "modules/ClaraApp/client/components/text_editor/tabbed_text_editor.tsx",
    "modules/ClaraApp/client/components/text_editor/text_editor.tsx",
    "modules/ClaraApp/client/components/uploads/uploads_view.tsx",
    "modules/ClaraApp/client/configuration/configuration_view.tsx",
    "modules/ClaraApp/client/configuration/group_configuration_view.tsx",
    "modules/ClaraApp/client/exercise/exercise_router.tsx",
    "modules/ClaraApp/client/exercise/views/admin_board_validations.tsx",
    "modules/ClaraApp/client/exercise/views/admin_board_view.tsx",
    "modules/ClaraApp/client/exercise/views/admin_validation_boards.tsx",
    "modules/ClaraApp/client/exercise/views/board_editor_view.tsx",
    "modules/ClaraApp/client/exercise/views/console_view.tsx",
    "modules/ClaraApp/client/exercise/views/exercise_admin_view.tsx",
    "modules/ClaraApp/client/exercise/views/exercise_item_view.tsx",
    "modules/ClaraApp/client/exercise/views/exercise_view.tsx",
    "modules/ClaraApp/client/exercise/views/exercises_view.tsx",
    "modules/ClaraApp/client/exercise/views/toolbox_view.tsx",
    "modules/ClaraApp/client/home/extra_footer_view.tsx",
    "modules/ClaraApp/client/home/footer_view.tsx",
    "modules/ClaraApp/client/home/header.tsx",
    "modules/ClaraApp/client/home/home_view.tsx",
    "modules/ClaraApp/client/home/modal.tsx",
    "modules/ClaraApp/client/leaderboards/leaderboards_router.tsx",
    "modules/ClaraApp/client/leaderboards/views/leaderboards_exercise_view.tsx",
    "modules/ClaraApp/client/leaderboards/views/leaderboards_practical_view.tsx",
    "modules/ClaraApp/client/leaderboards/views/leaderboards_results_view.tsx",
    "modules/ClaraApp/client/leaderboards/views/leaderboards_schedule_view.tsx",
    "modules/ClaraApp/client/leaderboards/views/leaderboards_view.tsx",
    "modules/ClaraApp/client/practical/practical_router.tsx",
    "modules/ClaraApp/client/practical/views/practical_admin_view.tsx",
    "modules/ClaraApp/client/practical/views/practical_item_view.tsx",
    "modules/ClaraApp/client/practical/views/practical_view.tsx",
    "modules/ClaraApp/client/practical/views/practicals_view.tsx",
    "modules/ClaraApp/client/profile/profile_router.tsx",
    "modules/ClaraApp/client/router.tsx",
    "modules/ClaraApp/client/schedule/schedule_router.tsx",
    "modules/ClaraApp/client/schedule/views/schedule_admin_view.tsx",
    "modules/ClaraApp/client/schedule/views/schedule_subscription.tsx",
    "modules/ClaraApp/client/schedule/views/schedule_view.tsx",
    "modules/ClaraApp/client/schedule/views/schedules_view.tsx",
    "modules/ClaraApp/client/shared/blaze_template.tsx",
    "modules/ClaraApp/client/shared/router_config.tsx",
    "modules/ClaraApp/client/sites/site_view.tsx",
    "modules/ClaraApp/client/sites/sites_view.tsx",
    "modules/ClaraApp/client/tutor/tutor_router.tsx",
    "modules/ClaraApp/client/tutor/views/marking_view.tsx",
    "modules/ClaraApp/client/tutor/views/tutors_view.tsx",
    "modules/ClaraApp/client/worlds/world_admin_view.tsx",
    "modules/ClaraApp/client/worlds/world_router.tsx",
    "modules/ClaraApp/client/worlds/worlds_view.tsx",
    "modules/TodoAppTS/client/components/TodoHeader.tsx",
    "modules/TodoAppTS/client/components/TodoItem.tsx",
    "modules/TodoAppTS/client/components/TodoList.tsx",
    "modules/TodoAppTS/client/routes.tsx",
    "modules/TodoAppTS/client/TodoApp.tsx",
    "modules/TodoAppTS/client/TodoMain.tsx",
    "modules/TodoAppTS/MyHeader.tsx"
  ],
  "exclude": [
    "**/node_modules/**/*.ts"
  ]
}

@basarat
Copy link
Member

basarat commented Nov 13, 2015

@tomitrescak try changing exclude to the following :

  "exclude": [
    "**/node_modules/**"
  ]

Or even simple:

  "exclude": [
    "node_modules"
  ]

As going to the details of /**/* causes all the files to still be checked more

@tomitrescak
Copy link
Author

@basarat You are a life saver 💐

Thanks! The compilation time is now as usual.

@basarat
Copy link
Member

basarat commented Nov 13, 2015

Thank @blakeembrey as he found it and shared with the world 🌹

@tomitrescak
Copy link
Author

Thanks @blakeembrey ! ;)

@TypeStrong TypeStrong locked and limited conversation to collaborators Jan 20, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants