summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2018-08-17 00:11:00 +0800
committerLin Jen-Shin <godfat@godfat.org>2018-08-17 12:19:01 +0800
commit2efd5c0b63eb3b86354988cf0f47a0ca83e52d3e (patch)
tree311936d1f5130966939a484787fe5c569b36b3b2 /scripts
parentbba7504438d5cc4ea98500754c8d0a8b9ff1fc42 (diff)
downloadgitlab-ce-49179-fill-with-js-directly-qa.tar.gz
Fill variable text with JS directly to speed up49179-fill-with-js-directly-qa
It's too slow to use `set(value)`, often timing out. Filling with JS is much faster for longer text, especially when the key size is larger than 8192. Before this patch: ``` Top 3 slowest examples (256.83 seconds, 89.4% of total time): cloning code using a deploy key user sets up a deploy key with QA::Runtime::Key::RSA(8192) to clone code using pipelines 161.26 seconds ./qa/specs/features/project/deploy_key_clone_spec.rb:42 cloning code using a deploy key user sets up a deploy key with QA::Runtime::Key::ECDSA(521) to clone code using pipelines 47.79 seconds ./qa/specs/features/project/deploy_key_clone_spec.rb:42 cloning code using a deploy key user sets up a deploy key with QA::Runtime::Key::ED25519() to clone code using pipelines 47.79 seconds ./qa/specs/features/project/deploy_key_clone_spec.rb:42 ``` Note that 161.26 was timed out. So it would actually take longer if it could ever complete. After patch: ``` Top 3 slowest examples (166.72 seconds, 83.8% of total time): cloning code using a deploy key user sets up a deploy key with QA::Runtime::Key::RSA(8192) to clone code using pipelines 83.66 seconds ./qa/specs/features/project/deploy_key_clone_spec.rb:42 cloning code using a deploy key user sets up a deploy key with QA::Runtime::Key::ECDSA(521) to clone code using pipelines 42.78 seconds ./qa/specs/features/project/deploy_key_clone_spec.rb:42 cloning code using a deploy key user sets up a deploy key with QA::Runtime::Key::ED25519() to clone code using pipelines 40.27 seconds ./qa/specs/features/project/deploy_key_clone_spec.rb:42 ``` Not that faster for smaller keys, but it's much faster for RSA 8192 (2 times faster). This was inspired from: https://github.com/teamcapybara/capybara/blob/679548cea10773d45e32808f4d964377cfe5e892/lib/capybara/selenium/node.rb#L217 Where it's clearing the field by filling an empty string. Here we do the same for the exact value we want to fill.
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions