-
Juan Hart authored
* initial scaffolding for benchmarks directory, including initial tachometer tests for POC * implemented initial urql client w/ default config graphcache & execute exchanges * troubleshooting: working with Jovi to create bypass for 'process' variable * troubleshooting: fix for 'process' related error w/ GQL * successfully created urql client that performs operations with execute-exchange * refactored test queries to use async/await to get POC prior to writing read/write benchmarks * achieved fully functional urql client * implemented initial benchmark scaffolding for different variations of reads/writes => get feedback from Jovi to confirm accuracy of approach * added functions to produce different entities to be used in larger read/write benchmarks * removed Date references from newly added entities => revisit creating scalar Date later * updated schema to reflect typing of new entities to be used in benchmark * implemented mutation for adding writers * added mutations for additional entities to be used for benchmarking * implemented benchmarks for reading/writing several entities ranging from 500 to 50,000 * implemented MVP around complex query benchmark * created complex write benchmarks * implemented benchmarks for complex reads * implemented mutation to update complete field on last Todo entity for benchmark * troubleshooting: updateQuery invocation in custom updater => pushing up to get feedback from Jovi * implemented benchmark for adding a single todo to API & graphcache * refactored 100 entity read/write benchmarks to use async/await to handle asynchronicity * refactored 500 entity read/write benchmarks to use async/await to handle asynchronicity * refactored 1000 entity read/write benchmarks to use async/await to handle asynchronicity * refactored 5000 entity read/write benchmarks to use async/await to handle asynchronicity * refactored 10000 entity read/write benchmarks to use async/await to handle asynchronicity * refactored 50000 entity read/write benchmarks to use async/await to handle asynchronicity * refactored updateTodo benchmark to use async/await to handle asynchronicity * refactored benchmarks to return data returned from queries * created rough draft for readme * implemented feedback from Jovi on initial PR * applied linting/linting to benchmarks Co-authored-by:
Juan Hart <formidable@Juans-MacBook-Pro.local>