(chore) - Create Tachometer benchmark for Graphcache (#1200)
* 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>