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

feat(27641): Performance tests of LHN with Reassure #29083

Merged
merged 14 commits into from
Oct 10, 2023

Conversation

adhorodyski
Copy link
Contributor

@adhorodyski adhorodyski commented Oct 9, 2023

Details

This PR introduces correctly rendered Reassure tests for LHN together with interactions - scrolling & pressing.
What we've observed is that LHN's test was passing but the list wasn't in fact getting rendered. This resulted in a count of 1 and a low duration of 0.3ms no matter the implementation which wasn't measuring any regressions.

Please see an updated result measured locally:
sample-sidebar-test

Fixed Issues

$ #27641
PROPOSAL: N/A

Tests

  • Verify that no errors appear in the JS console

Offline tests

QA Steps

  • Verify that no errors appear in the JS console

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section
    • I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
    • I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).
  • I included screenshots or videos for tests on all platforms
  • I ran the tests on all platforms & verified they passed on:
    • Android / native
    • Android / Chrome
    • iOS / native
    • iOS / Safari
    • MacOS / Chrome / Safari
    • MacOS / Desktop
  • I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
  • I followed proper code patterns (see Reviewing the code)
    • I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
    • I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
    • I verified that comments were added to code that is not self explanatory
    • I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
    • I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
      • If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:
    • I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
    • I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
    • I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
    • I verified the JSDocs style guidelines (in STYLE.md) were followed
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I followed the guidelines as stated in the Review Guidelines
  • I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
  • I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
  • I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
  • I verified that if a function's arguments changed that all usages have also been updated correctly
  • If a new component is created I verified that:
    • A similar component doesn't exist in the codebase
    • All props are defined accurately and each prop has a /** comment above it */
    • The file is named correctly
    • The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
    • The only data being stored in the state is data necessary for rendering and nothing else
    • If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
    • For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
    • Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
    • All JSX used for rendering exists in the render method
    • The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions
  • If any new file was added I verified that:
    • The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory
  • If a new CSS style is added I verified that:
    • A similar style doesn't already exist
    • The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
  • I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Not applicable as this PR includes only performance tests.

Web
Mobile Web - Chrome
Mobile Web - Safari
Desktop
iOS
Android

@adhorodyski adhorodyski marked this pull request as ready for review October 10, 2023 09:10
@adhorodyski adhorodyski requested a review from a team as a code owner October 10, 2023 09:10
@melvin-bot melvin-bot bot requested review from Santhosh-Sellavel and removed request for a team October 10, 2023 09:10
@melvin-bot
Copy link

melvin-bot bot commented Oct 10, 2023

@Santhosh-Sellavel Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@adhorodyski
Copy link
Contributor Author

@mountiny FYI first batch of testing, unblocking LHN. You can see the new logs in the GH Actions output; we'll finally start collecting real regression results after merging this PR, 40+ rerenders is definitely something to improve on! :)

Copy link
Contributor

@mountiny mountiny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @adhorodyski! Glad to see this fixed

const participants = ReportUtils.getDisplayNamesWithTooltips(participantsPersonalDetails, false);
expect(participants).toHaveLength(5);

expect(participants[0].avatar).toBeInstanceOf(Function);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the object in this case considered as Function? Why is that?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @koko57 you can shed some light on it? If i recall correctly from our sessions it doesn't always come as an object, especially in this Jest environment and Function was valid.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we use this svg transformer for jest, we're loading svgs like in the app, we no longer get this object {testUri: ...}. And looking on proptypes this is what we actually expect here (string or function) 🙂

@mountiny mountiny removed the request for review from Santhosh-Sellavel October 10, 2023 13:27
@mountiny
Copy link
Contributor

mountiny commented Oct 10, 2023

Reviewer Checklist

  • I have verified the author checklist is complete (all boxes are checked off).
  • I verified the correct issue is linked in the ### Fixed Issues section above
  • I verified testing steps are clear and they cover the changes made in this PR
    • I verified the steps for local testing are in the Tests section
    • I verified the steps for Staging and/or Production testing are in the QA steps section
    • I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
  • I checked that screenshots or videos are included for tests on all platforms
  • I included screenshots or videos for tests on all platforms
  • I verified tests pass on all platforms & I tested again on:
    • Android: Native
    • Android: mWeb Chrome
    • iOS: Native
    • iOS: mWeb Safari
    • MacOS: Chrome / Safari
    • MacOS: Desktop
  • If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
  • I verified proper code patterns were followed (see Reviewing the code)
    • I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
    • I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
    • I verified that comments were added to code that is not self explanatory
    • I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
    • I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
    • I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
    • I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
    • I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
    • I verified the JSDocs style guidelines (in STYLE.md) were followed
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I verified that this PR follows the guidelines as stated in the Review Guidelines
  • I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
  • I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
  • I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
  • If a new component is created I verified that:
    • A similar component doesn't exist in the codebase
    • All props are defined accurately and each prop has a /** comment above it */
    • The file is named correctly
    • The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
    • The only data being stored in the state is data necessary for rendering and nothing else
    • For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
    • Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
    • All JSX used for rendering exists in the render method
    • The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions
  • If any new file was added I verified that:
    • The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory
  • If a new CSS style is added I verified that:
    • A similar style doesn't already exist
    • The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
  • I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

CI changes, N/A

Web
Mobile Web - Chrome
Mobile Web - Safari
Desktop
iOS
Android

@mountiny
Copy link
Contributor

@adhorodyski Could you fix the typo in the output: Signficant changes to render duration could be in next PR

Changes look good to me, thank you!

@mountiny mountiny merged commit 1998fa3 into Expensify:main Oct 10, 2023
@OSBotify
Copy link
Contributor

✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@github-actions github-actions bot added the DeployBlockerCash This issue or pull request should block deployment label Oct 10, 2023
@github-actions
Copy link
Contributor

Performance Comparison Report 📊

Significant Changes To Duration

Name Duration
App start TTI 1192.163 ms → 1296.597 ms (+104.434 ms, +8.8%) 🔴
App start runJsBundle 814.744 ms → 895.380 ms (+80.636 ms, +9.9%) 🔴
Show details
Name Duration
App start TTI Baseline
Mean: 1192.163 ms
Stdev: 28.910 ms (2.4%)
Runs: 1140.436313000042 1145.7269180000294 1147.8799050000962 1151.9218570000958 1152.7390759999398 1152.8164309998974 1152.9957590000704 1154.5740630000364 1160.0000640000217 1160.4114260000642 1160.641198999947 1160.6434690000024 1161.7818430000916 1163.3655689998996 1164.0316099999472 1165.234924999997 1166.3811699999496 1166.7749379999004 1167.5121520000976 1168.9553340000566 1169.7102500000037 1170.0217770000454 1171.079117000103 1171.988815000048 1171.990315000061 1173.6656659999862 1173.7966469998937 1176.101835000096 1176.8188360000495 1176.9232999999076 1177.1175579999108 1177.1389770000242 1179.3129509999417 1180.2188860001042 1180.8775929999538 1182.3044839999638 1182.6260259998962 1182.8341880000662 1183.2749079999048 1183.8353639999405 1184.3394700000063 1185.1559379999526 1185.2116280000191 1186.5461029999424 1186.9475469999015 1188.7586199999787 1188.9129099999554 1190.9751250001136 1192.394025000045 1193.7390980001073 1193.906302999938 1194.1784920000937 1195.4929959999863 1197.4127150001004 1197.9189869998954 1198.1675789998844 1198.174999000039 1198.653529000003 1199.373021000065 1200.9593470001128 1201.0980150001124 1202.1208820000757 1203.0854110000655 1205.4035420001019 1206.4631670000963 1207.5373730000574 1212.3358030000236 1214.265827999916 1217.9561610000674 1218.2343530000653 1219.1348939999007 1219.1737140000332 1220.7586590000428 1222.1384860000107 1222.3110020000022 1223.5238550000358 1225.651031000074 1225.6976449999493 1228.0252960000653 1229.232880000025 1237.5099800000899 1237.9324119999073 1245.074203999946 1247.8888000000734 1251.5759179999586 1261.6440850000363 1270.4200830000918 1270.485348999966

Current
Mean: 1296.597 ms
Stdev: 60.821 ms (4.7%)
Runs: 1160.2773080000188 1162.3925010000821 1187.3209710000083 1204.8018320000265 1205.8664170000702 1211.7937570000067 1215.0744349998422 1216.4056299999356 1217.8635249999352 1222.4419549999293 1226.4761000000872 1226.6887350000907 1227.8042609998956 1228.0040200001094 1231.2187359998934 1235.5688289999962 1236.9366830000654 1237.5778059998993 1237.9489180000965 1240.255116000073 1240.3744560000487 1241.8218000000343 1244.9574740000535 1247.2736579999328 1248.8869610000402 1249.2168580000289 1249.6360440000426 1250.0863139999565 1254.5414809999056 1257.2004300002009 1259.461256999988 1261.815382000059 1262.7052360000089 1265.0091420002282 1267.3391840001568 1268.7600600000005 1277.7001700000837 1278.0704520000145 1279.3804949999321 1282.3927350000013 1285.3210579999723 1289.8078899998218 1294.1202920000069 1294.417661999818 1298.593315999955 1300.5862929997966 1302.2439210000448 1305.3296539997682 1309.218857999891 1309.285776999779 1312.703703999985 1312.7381239999086 1313.4471550001763 1313.5198940001428 1315.4672110001557 1316.9846979998983 1317.7790520000271 1318.5902539999224 1318.8670189999975 1322.419001000002 1323.7299150000326 1325.869791999925 1326.569019000046 1327.7299110000022 1335.709170000162 1338.9771949998103 1340.9477450000122 1343.9338250001892 1346.3227170000318 1347.2215220001526 1350.4800180001184 1351.328104000073 1351.8618970001116 1354.672956999857 1354.6948649999686 1358.7101819999516 1359.4332409999333 1359.7722760001197 1361.6675680000335 1363.158437000122 1367.5192350000143 1368.1103770001791 1369.634769000113 1372.065595000051 1378.9085360001773 1384.4182059997693 1385.2619199999608 1388.7435519997962 1399.0098419999704 1403.6563599999063 1422.2309650001116 1453.7804459999315
App start runJsBundle Baseline
Mean: 814.744 ms
Stdev: 24.910 ms (3.1%)
Runs: 760 762 770 771 776 779 779 779 785 787 789 790 791 791 792 792 792 793 794 795 795 796 796 796 797 798 799 800 800 803 803 803 803 805 805 806 807 808 808 808 809 810 811 811 811 814 814 816 816 817 818 819 820 820 820 822 822 822 823 826 827 827 828 829 830 831 831 832 832 834 835 836 836 837 838 838 839 839 839 840 844 852 854 855 855 862 863 871 872 877

Current
Mean: 895.380 ms
Stdev: 42.532 ms (4.8%)
Runs: 796 797 801 827 828 828 838 839 839 839 846 848 849 850 852 852 853 853 854 855 855 856 858 859 862 866 866 868 868 871 871 873 875 875 877 881 881 883 884 885 885 889 890 890 891 893 897 900 903 905 909 911 914 914 915 918 921 921 921 922 922 924 925 925 926 927 927 928 929 931 931 935 935 936 938 938 939 940 941 942 943 944 944 945 947 952 957 960 965 966 967 979

Meaningless Changes To Duration

Show entries
Name Duration
App start nativeLaunch 21.386 ms → 22.409 ms (+1.024 ms, +4.8%)
App start regularAppStart 0.015 ms → 0.015 ms (+0.001 ms, +3.9%)
Open Search Page TTI 627.175 ms → 621.198 ms (-5.977 ms, -1.0%)
Show details
Name Duration
App start nativeLaunch Baseline
Mean: 21.386 ms
Stdev: 2.105 ms (9.8%)
Runs: 18 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 24 24 24 24 25 25 26 27 27 27 27 27

Current
Mean: 22.409 ms
Stdev: 3.661 ms (16.3%)
Runs: 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 23 23 23 23 24 24 24 24 25 25 25 25 25 25 27 27 27 27 27 27 28 28 29 30 30 31 31 32 32 32
App start regularAppStart Baseline
Mean: 0.015 ms
Stdev: 0.001 ms (5.8%)
Runs: 0.013141999952495098 0.013386999955400825 0.013549000024795532 0.01359100011177361 0.013712000101804733 0.013752999948337674 0.013794000027701259 0.01383400009945035 0.013916000025346875 0.013916000025346875 0.013956000097095966 0.013956999871879816 0.01395700010471046 0.01395700010471046 0.014078000094741583 0.014078999869525433 0.014118999941274524 0.014160000020638108 0.014160000020638108 0.014160000020638108 0.014161000028252602 0.014201000100001693 0.01424099993892014 0.014241999946534634 0.014241999946534634 0.014282000018283725 0.014322999864816666 0.014322999864816666 0.014404000015929341 0.014444999862462282 0.014444999862462282 0.014445000095292926 0.014445000095292926 0.014485000167042017 0.014485000167042017 0.014485999941825867 0.01448600017465651 0.014526000013574958 0.014648000011220574 0.014648000011220574 0.014649000018835068 0.014688999857753515 0.014728999929502606 0.0147299999371171 0.014770000008866191 0.014770000008866191 0.014810999855399132 0.014811000088229775 0.014811000088229775 0.014811999863013625 0.014850999927148223 0.014892000006511807 0.014892000006511807 0.014933000085875392 0.014973999932408333 0.014973999932408333 0.015014000004157424 0.015014000004157424 0.01509599993005395 0.015217999927699566 0.015217999927699566 0.01525900000706315 0.015339999925345182 0.015339999925345182 0.015340000158175826 0.015421000076457858 0.015543000074103475 0.01558400015346706 0.015625 0.015625 0.015666000079363585 0.015666000079363585 0.015786999836564064 0.015828000148758292 0.015828999923542142 0.015910000074654818 0.015951000154018402 0.01599099999293685 0.015992000000551343 0.016072999918833375 0.016112999990582466 0.01615400006994605 0.01619499991647899 0.0163569999858737 0.01647999999113381 0.01647999999113381 0.0165200000628829 0.016723999986425042 0.016804999904707074 0.016804999904707074

Current
Mean: 0.015 ms
Stdev: 0.001 ms (5.0%)
Runs: 0.013672000030055642 0.014078999869525433 0.014200999867171049 0.014242000179365277 0.01436399994418025 0.014404000015929341 0.014405000023543835 0.014445000095292926 0.014485999941825867 0.014485999941825867 0.014526000013574958 0.014526999788358808 0.014649000018835068 0.014688999857753515 0.014689000323414803 0.0147299999371171 0.014769999776035547 0.014811000088229775 0.014851999934762716 0.014891999773681164 0.0148930000141263 0.014934000093489885 0.014973999932408333 0.014973999932408333 0.015014000236988068 0.015015000011771917 0.01509599993005395 0.015096000162884593 0.015137000009417534 0.015137000009417534 0.015177000081166625 0.015217999927699566 0.015217999927699566 0.01521800016053021 0.015257999999448657 0.0152580002322793 0.01525900000706315 0.015339999925345182 0.015381000004708767 0.015462000155821443 0.015462000155821443 0.015462000388652086 0.015503000002354383 0.015503000002354383 0.015542999841272831 0.015583999920636415 0.01558400015346706 0.015584999695420265 0.015625 0.015625 0.015625 0.015666000079363585 0.01570699969306588 0.015706999925896525 0.015746999997645617 0.015746999997645617 0.015746999997645617 0.015787000069394708 0.0157880000770092 0.0157880000770092 0.01582799991592765 0.015828999923542142 0.015829000156372786 0.015868999995291233 0.015868999995291233 0.01587000023573637 0.015910000074654818 0.015992000000551343 0.016032000072300434 0.01607199991121888 0.016112999990582466 0.016153999837115407 0.01615400006994605 0.016194000374525785 0.01619499991647899 0.016276000067591667 0.0165200000628829 0.016805000137537718 0.016845999751240015 0.01696799974888563 0.01696799974888563 0.017171999905258417 0.0172520000487566 0.01725299982354045 0.017293999902904034
Open Search Page TTI Baseline
Mean: 627.175 ms
Stdev: 26.019 ms (4.1%)
Runs: 588.2068689998705 589.7615970000625 590.7471109998878 591.6433520000428 595.9005130000878 598.1069750001188 598.5975750000216 599.3677980001085 599.4855150000658 599.4912110001314 599.6687020000536 600.3814300000668 600.9270840000827 602.2336430000141 603.1038010001648 605.3264160000253 605.394491000101 605.4344079999719 605.7530930000357 606.4301349997986 606.5366619999986 606.8842780000996 607.0893969999161 607.7614339999855 607.8564870001283 608.1829829998314 608.538290000055 610.0633139999118 610.8599450001493 612.1759440000169 612.7520749999676 612.7731530000456 612.7803950000089 613.8474939998705 613.8600680001546 615.1994629998226 615.5104979998432 615.5845540000591 615.7316489999648 616.4632979999296 616.5332849998958 616.8977870000526 620.627116000047 620.7113449999597 620.8732100001071 621.5307620000094 621.818847999908 621.8467619998846 623.8895669998601 624.2374670000281 624.9108080000151 625.100097999908 625.6563309999183 626.166300999932 628.0430499999784 628.7936200001277 628.8848880000878 629.5649009998888 629.9300949999597 630.7895510001108 631.194010999985 631.6818040001672 632.4512129998766 632.507690000115 634.3922530000564 634.5075690001249 639.9010819999967 640.8176669999957 641.3986009999644 642.5922449999489 645.6406659998465 646.5875659999438 647.8409830001183 648.4070639999118 650.2690840000287 656.8554689998273 657.6584070001263 659.2497150001582 660.9153239999432 662.3917639998253 663.5250649999361 666.6306970000733 666.6809900000226 666.8944099999499 668.9501549999695 683.064086999977 688.4713950001169 688.6246340000071 689.4396969999652 694.2173260001 695.9637450000737

Current
Mean: 621.198 ms
Stdev: 21.039 ms (3.4%)
Runs: 589.8990079998039 592.125692000147 593.2283120001666 593.4031179999001 594.3992110001855 595.3684900002554 597.2801510002464 597.8302009999752 597.9246020000428 598.4215910001658 599.4825030001812 599.7043049996719 601.4914149995893 602.0604250002652 604.9839680003934 605.5082200001925 605.7471110001206 607.0198169997893 607.2582609998062 608.289145000279 608.4162599998526 608.646891000215 608.7237960002385 609.0075679998845 609.1234539998695 609.3465579999611 609.5365800000727 609.6430659997277 609.7530519999564 610.0242929998785 610.3793950001709 610.5900070001371 610.6842860002071 610.8881439999677 611.946574000176 613.37137800036 613.6690269997343 614.1480310000479 614.4886469999328 614.5169680002145 614.7926020002924 614.8423659997061 615.7818199996836 615.9446620000526 616.1324460003525 616.2811280000024 616.4229339999147 616.5439459998161 616.7831629998982 616.8120120000094 617.2328290003352 617.3472090000287 617.4241940001957 617.831828000024 617.8760580001399 618.4477550000884 619.4995120000094 621.740722999908 622.1569010000676 622.3507090001367 622.5132650001906 622.8352860002778 623.8127029999159 623.9772140001878 626.2039390001446 627.0174569999799 628.0078949998133 630.8161619999446 631.3251550002024 633.1254079998471 634.1215000003576 638.84790099971 640.1082770000212 641.3088380000554 644.9135340000503 645.4775390001014 648.6298010000028 649.1777759999968 651.1018070001155 652.3197429999709 653.6392009998672 656.4988199998625 659.249715000391 660.1396889998578 664.6126709999517 672.7738849995658 677.2158209998161 683.141601999756 683.1589359999634

@github-actions
Copy link
Contributor

@Expensify/mobile-deployers 📣 Please look into this performance regression as it's a deploy blocker.

@mountiny mountiny removed the DeployBlockerCash This issue or pull request should block deployment label Oct 10, 2023
@mountiny
Copy link
Contributor

False positive, CI change

@OSBotify
Copy link
Contributor

🚀 Deployed to staging by https://github.com/mountiny in version: 1.3.81-0 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 success ✅
🕸 web 🕸 success ✅

@OSBotify
Copy link
Contributor

🚀 Deployed to staging by https://github.com/mountiny in version: 1.3.83-0 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 success ✅
🕸 web 🕸 success ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants