Skip to content
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

Tracking: Perf improvements #379

Open
2 of 4 tasks
calebkiage opened this issue Oct 24, 2023 · 3 comments
Open
2 of 4 tasks

Tracking: Perf improvements #379

calebkiage opened this issue Oct 24, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@calebkiage
Copy link
Collaborator

calebkiage commented Oct 24, 2023

  • Establish machine to measuring performance. (16vCPU, 64GB RAM, 1024MB Storage)
  • Establish baseline performance numbers for mgc -h
  • Establish target perf numbers
  • Get perf to the target
@sebastienlevert
Copy link

sebastienlevert commented Oct 24, 2023

Here's my baseline with the exact same DevBox (in WSL).

mgc -h

...

real    0m8.078s
user    0m7.715s
sys     0m0.360s
Full command output
$ time mgc -h
Description:
  Microsoft Graph CLI

Usage:
  mgc [command] [options]

Options:
  -?, -h, --help  Show help and usage information
  --debug         Enable debug output
  --version       Show version information

Commands:
  admin                                  Provides operations to manage the admin singleton.
  agreement-acceptances                  Provides operations to manage the collection of agreementAcceptance entities.
  agreements                             Provides operations to manage the collection of agreement entities.
  app-catalogs                           Provides operations to manage the appCatalogs singleton.
  applications                           Provides operations to manage the collection of application entities.
  applications-with-app-id               Provides operations to manage the collection of application entities.
  application-templates                  Provides operations to manage the collection of applicationTemplate entities.
  audit-logs                             Provides operations to manage the auditLogRoot singleton.
  authentication-method-configurations   Provides operations to manage the collection of
                                         authenticationMethodConfiguration entities.
  authentication-methods-policy          Provides operations to manage the authenticationMethodsPolicy singleton.
  certificate-based-auth-configuration   Provides operations to manage the collection of
                                         certificateBasedAuthConfiguration entities.
  chats                                  Provides operations to manage the collection of chat entities.
  communications                         Provides operations to manage the cloudCommunications singleton.
  compliance                             Provides operations to manage the compliance singleton.
  connections                            Provides operations to manage the collection of externalConnection entities.
  contacts                               Provides operations to manage the collection of orgContact entities.
  contracts                              Provides operations to manage the collection of contract entities.
  data-policy-operations                 Provides operations to manage the collection of dataPolicyOperation entities.
  device-app-management                  Provides operations to manage the deviceAppManagement singleton.
  device-management                      Provides operations to manage the deviceManagement singleton.
  devices                                Provides operations to manage the collection of device entities.
  devices-with-device-id                 Provides operations to manage the collection of device entities.
  directory                              Provides operations to manage the directory singleton.
  directory-objects                      Provides operations to manage the collection of directoryObject entities.
  directory-roles                        Provides operations to manage the collection of directoryRole entities.
  directory-roles-with-role-template-id  Provides operations to manage the collection of directoryRole entities.
  directory-role-templates               Provides operations to manage the collection of directoryRoleTemplate entities.
  domain-dns-records                     Provides operations to manage the collection of domainDnsRecord entities.
  domains                                Provides operations to manage the collection of domain entities.
  drives                                 Provides operations to manage the collection of drive entities.
  education                              Provides operations to manage the educationRoot singleton.
  employee-experience                    Provides operations to manage the employeeExperience singleton.
  external                               Provides operations to manage the external singleton.
  filter-operators                       Provides operations to manage the collection of filterOperatorSchema entities.
  functions                              Provides operations to manage the collection of attributeMappingFunctionSchema
                                         entities.
  group-lifecycle-policies               Provides operations to manage the collection of groupLifecyclePolicy entities.
  group-settings                         Provides operations to manage the collection of groupSetting entities.
  group-setting-templates                Provides operations to manage the collection of groupSettingTemplate entities.
  groups                                 Provides operations to manage the collection of group entities.
  identity-governance                    Provides operations to manage the identityGovernance singleton.
  identity                               Provides operations to manage the identityContainer singleton.
  identity-protection                    Provides operations to manage the identityProtectionRoot singleton.
  identity-providers                     Provides operations to manage the collection of identityProvider entities.
  information-protection                 Provides operations to manage the informationProtection singleton.
  invitations                            Provides operations to manage the collection of invitation entities.
  oauth2-permission-grants               Provides operations to manage the collection of oAuth2PermissionGrant entities.
  organization                           Provides operations to manage the collection of organization entities.
  permission-grants                      Provides operations to manage the collection of
                                         resourceSpecificPermissionGrant entities.
  places                                 The places property
  planner                                Provides operations to manage the planner singleton.
  policies                               Provides operations to manage the policyRoot singleton.
  print                                  Provides operations to manage the print singleton.
  privacy                                Provides operations to manage the privacy singleton.
  reports                                Provides operations to manage the reportRoot singleton.
  role-management                        Provides operations to manage the roleManagement singleton.
  schema-extensions                      Provides operations to manage the collection of schemaExtension entities.
  scoped-role-memberships                Provides operations to manage the collection of scopedRoleMembership entities.
  search                                 Provides operations to manage the searchEntity singleton.
  security                               Provides operations to manage the security singleton.
  service-principals                     Provides operations to manage the collection of servicePrincipal entities.
  service-principals-with-app-id         Provides operations to manage the collection of servicePrincipal entities.
  shares                                 Provides operations to manage the collection of sharedDriveItem entities.
  sites                                  Provides operations to manage the collection of site entities.
  solutions                              Provides operations to manage the solutionsRoot singleton.
  subscribed-skus                        Provides operations to manage the collection of subscribedSku entities.
  subscriptions                          Provides operations to manage the collection of subscription entities.
  teams                                  Provides operations to manage the collection of team entities.
  teams-templates                        Provides operations to manage the collection of teamsTemplate entities.
  teamwork                               Provides operations to manage the teamwork singleton.
  tenant-relationships                   Provides operations to manage the tenantRelationship singleton.
  users                                  Provides operations to manage the collection of user entities.
  login                                  Login and store the session for use in subsequent commands
  logout                                 Logout by deleting the stored session used by commands


real    0m8.078s
user    0m7.715s
sys     0m0.360s

@calebkiage
Copy link
Collaborator Author

calebkiage commented Oct 24, 2023

Timings from 4 runs of the github release on the windows dev box on powershell.

1 2 3 4
mgc -h 10.4s 2.8s 784ms 768ms

@calebkiage
Copy link
Collaborator Author

calebkiage commented Oct 24, 2023

Timings from 4 runs of the Linux github release on the windows dev box on WSL Bash.

1 2 3 4
mgc -h 654ms 648ms 652ms 643ms

@calebkiage calebkiage self-assigned this Nov 29, 2023
@calebkiage calebkiage added enhancement New feature or request and removed ToTriage labels Nov 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants