-
Notifications
You must be signed in to change notification settings - Fork 336
Open
Labels
compiler:coreIssues for @typespec/compilerIssues for @typespec/compilerideIssues for VS, VSCode, Monaco, etc.Issues for VS, VSCode, Monaco, etc.
Description
New service which is quite big but has not great performance in IDE. Autocomplete takes seconds to show up for example
specification/apimanagement/resource-manager/Microsoft.ApiManagement/ApiManagement/
--stats result
TypeSpec compiler v1.9.0-dev.3
✔ Compiling
✔ @azure-tools/typespec-autorest 1406ms /
Compilation completed successfully.
Compiler statistics:
Complexity:
Created types: 62367
Finished types: 56124
Performance:
loader: 640ms
resolver: 201ms
checker: 751ms
validation: 197ms
@azure-tools/typespec-azure-core: 0ms
@azure-tools/typespec-client-generator-core: 4ms
@typespec/http: 74ms
@typespec/rest: 13ms
@typespec/versioning: 93ms
compiler: 14ms
linter: 1108ms
@azure-tools/typespec-azure-core/auth-required: 0ms
@azure-tools/typespec-azure-core/byos: 59ms
@azure-tools/typespec-azure-core/casing-style: 5ms
@azure-tools/typespec-azure-core/composition-over-inheritance: 0ms
@azure-tools/typespec-azure-core/documentation-required: 7ms
@azure-tools/typespec-azure-core/friendly-name: 5ms
@azure-tools/typespec-azure-core/key-visibility-required: 1ms
@azure-tools/typespec-azure-core/known-encoding: 2ms
@azure-tools/typespec-azure-core/long-running-polling-operation-required: 3ms
@azure-tools/typespec-azure-core/no-case-mismatch: 2ms
@azure-tools/typespec-azure-core/no-closed-literal-union: 2ms
@azure-tools/typespec-azure-core/no-enum: 0ms
@azure-tools/typespec-azure-core/no-error-status-codes: 1ms
@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops: 1ms
@azure-tools/typespec-azure-core/no-format: 4ms
@azure-tools/typespec-azure-core/no-generic-numeric: 1ms
@azure-tools/typespec-azure-core/no-header-explode: 94ms
@azure-tools/typespec-azure-core/no-legacy-usage: 15ms
@azure-tools/typespec-azure-core/no-multiple-discriminator: 0ms
@azure-tools/typespec-azure-core/no-nullable: 1ms
@azure-tools/typespec-azure-core/no-offsetdatetime: 9ms
@azure-tools/typespec-azure-core/no-openapi: 20ms
@azure-tools/typespec-azure-core/no-private-usage: 20ms
@azure-tools/typespec-azure-core/no-query-explode: 99ms
@azure-tools/typespec-azure-core/no-rest-library-interfaces: 124ms
@azure-tools/typespec-azure-core/no-rpc-path-params: 1ms
@azure-tools/typespec-azure-core/no-string-discriminator: 0ms
@azure-tools/typespec-azure-core/no-unknown: 1ms
@azure-tools/typespec-azure-core/no-unnamed-union: 3ms
@azure-tools/typespec-azure-core/operation-missing-api-version: 2ms
@azure-tools/typespec-azure-core/request-body-problem: 4ms
@azure-tools/typespec-azure-core/require-versioned: 0ms
@azure-tools/typespec-azure-core/response-schema-problem: 110ms
@azure-tools/typespec-azure-core/rpc-operation-request-body: 0ms
@azure-tools/typespec-azure-core/spread-discriminated-model: 1ms
@azure-tools/typespec-azure-resource-manager/arm-common-types-version: 63ms
@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key: 0ms
@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage: 0ms
@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes: 49ms
@azure-tools/typespec-azure-resource-manager/arm-no-record: 2ms
@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes: 6ms
@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes: 0ms
@azure-tools/typespec-azure-resource-manager/arm-resource-action-no-segment: 2ms
@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property: 1ms
@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator: 0ms
@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb: 1ms
@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property: 0ms
@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-version-format: 0ms
@azure-tools/typespec-azure-resource-manager/arm-resource-key-invalid-chars: 1ms
@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern: 0ms
@azure-tools/typespec-azure-resource-manager/arm-resource-operation: 1ms
@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response: 45ms
@azure-tools/typespec-azure-resource-manager/arm-resource-patch: 2ms
@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars: 1ms
@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state: 1ms
@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels: 0ms
@azure-tools/typespec-azure-resource-manager/empty-updateable-properties: 1ms
@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation: 0ms
@azure-tools/typespec-azure-resource-manager/lro-location-header: 93ms
@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint: 0ms
@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers: 2ms
@azure-tools/typespec-azure-resource-manager/no-empty-model: 0ms
@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation: 2ms
@azure-tools/typespec-azure-resource-manager/no-response-body: 144ms
@azure-tools/typespec-azure-resource-manager/patch-envelope: 1ms
@azure-tools/typespec-azure-resource-manager/resource-name: 1ms
@azure-tools/typespec-azure-resource-manager/secret-prop: 14ms
@azure-tools/typespec-azure-resource-manager/unsupported-type: 2ms
@azure-tools/typespec-client-generator-core/property-name-conflict: 9ms
@azure-tools/typespec-client-generator-core/require-client-suffix: 12ms
emit: 1406ms
@azure-tools/typespec-autorest: 1406ms
There is also probably some optiomization so it doesn't take that long to compile. Some linting rule seems like they should be able to be sped up
This I think is a good spec to use as a benchmark for improving performance in the LSP and compiler
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
compiler:coreIssues for @typespec/compilerIssues for @typespec/compilerideIssues for VS, VSCode, Monaco, etc.Issues for VS, VSCode, Monaco, etc.