• Juan Hart's avatar
    (chore) - Create Tachometer benchmark for Graphcache (#1200) · a30a923b
    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: 's avatarJuan Hart <formidable@Juans-MacBook-Pro.local>
    a30a923b