MatrixAI / js-quic

QUIC Networking for TypeScript & JavaScript
https://matrixai.github.io/js-quic/
Apache License 2.0
13 stars 1 forks source link

ci: merge staging to master #27

Closed MatrixAI-Bot closed 1 year ago

MatrixAI-Bot commented 1 year ago

This is an automatic PR generated by the pipeline CI/CD. This will be automatically fast-forward merged if successful.

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 875354228 for 3747725587e70e20e09a9b4e4fcaae698b8198ae

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/875354228

ghost commented 1 year ago
👇 Click on the image for a new way to code review #### [![Review these changes using an interactive CodeSee Map](https://s3.us-east-2.amazonaws.com/maps.codesee.io/images/github/MatrixAI/js-quic/27/77fbc1fc/31575378f96bee9217ce56b12f4a07e473757321.svg)](https://app.codesee.io/r/reviews?pr=27&src=https%3A%2F%2Fgithub.com%2FMatrixAI%2Fjs-quic) #### Legend CodeSee Map legend
MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 876804008 for dd13f2ce817fbe7680cc27f94f3082f51357cf93

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/876804008

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 876841763 for e853e942cc04fabb03ae9769e9a6d88c2e485975

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/876841763

MatrixAI-Bot commented 1 year ago

Pipeline Succeeded on 876841763 for e853e942cc04fabb03ae9769e9a6d88c2e485975

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/876841763

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 876877914 for 7dfcfbd158845823a4040ed94a1604a86765bf44

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/876877914

MatrixAI-Bot commented 1 year ago

Pipeline Succeeded on 876877914 for 7dfcfbd158845823a4040ed94a1604a86765bf44

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/876877914

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 876914462 for 9079f9743ca2267aba0affc0563713a816a1234e

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/876914462

MatrixAI-Bot commented 1 year ago

Pipeline Succeeded on 876914462 for 9079f9743ca2267aba0affc0563713a816a1234e

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/876914462

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 911343211 for ac6ddc01642ee27bd1f5f91963415b5292c03740

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/911343211

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 911343224 for 286a0068b3042157c572d5a4797a8f00929559fc

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/911343224

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 911496818 for e019bcd0cb6a756372c4243da8dd5442f2758e07

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/911496818

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 912531327 for 5693ef8a5bb32d45825004f2af5d71bdcce02765

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/912531327

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 922716923 for 06bb0d9da8a035b96b767e23aa6dc402bf243403

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/922716923

tegefaulkes commented 1 year ago

I fixed up the problem with the benchmark but there is a problem with the mac runner. The brew-install script is failing.

All the tests are succeeding in the Linux runner. So that's good.

CMCDragonkai commented 1 year ago

Can you check what's going on with the mac runner compare to js-db which is doing a native build. Compare the CI yaml files as well as the scripts.

CMCDragonkai commented 1 year ago

Check with #24 too to see if windows still has the same problem, upstream seems to still have the same issue with others reporting.

CMCDragonkai commented 1 year ago

Don't forget to check if docs build works too.

CMCDragonkai commented 1 year ago

Please note that the CI here will need to push up multiple NPM packages... since we are using optional dependencies now.

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 922781592 for 31575378f96bee9217ce56b12f4a07e473757321

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/922781592

MatrixAI-Bot commented 1 year ago

Pipeline Succeeded on 922781592 for 31575378f96bee9217ce56b12f4a07e473757321

https://gitlab.com/MatrixAI/open-source/js-quic/-/pipelines/922781592

CMCDragonkai commented 1 year ago

Build succeeded. @tegefaulkes make sure to look into addressing:

tegefaulkes commented 1 year ago

In terms of raw data flow the benchmark seems pretty slow. But it is creating and closing a stream each op so that would be slow. Just writing data should be a fair bit quicker. If it's a problem there are some optimisations that can be made.

  1. We need to reduce the amount of work done when moving data around. So the less function calls and work done when processing reads and writes the better. The monitors could be a major factor in this but we'll need to bench with and without them to be sure.
  2. When it comes to network code, one of the main ways to improve it's speed is to reduce the number of kernel elevations done. That's every time we read or write to the socket. But since we're using the node dgram module here I'm not sure what can be done. I think the only option is to send multiple messages to a single destination at once. Normally a socket will allow you to send multiple messages to multiple destinations all in one send.