当前位置:   article > 正文

【Rust 日报】2022-01-23 WebAPI Benchmarking

tauri+yew

分析API平台cube.js

Cube.js 是一个开源的分析 API 平台。它主要用于构建内部商业智能工具或将面向客户的分析添加到现有应用程序中。

Cube.js 旨在与无服务器数据仓库和查询引擎(如 Google BigQuery 和 AWS Athena)一起使用。多阶段查询方法使其适用于处理数万亿个数据点。大多数现代 RDBMS 也可以与 Cube.js 一起使用,并且可以进一步调整性能。

906a20098afcf4cebc6af9c2e8ca3984.png

GitHub:https://github.com/cube-js/cube.js

Document:https://cube.dev/docs/

WebAPI Benchmarking

主要针对 tide 和 actix-web:

  1. ========== Rust (tide) oha ==========
  2. Success rate: 1.0000
  3. Total: 52.4111 secs
  4. Slowest: 7.2684 secs
  5. Fastest: 0.0005 secs
  6. Average: 0.0518 secs
  7. Requests/sec: 19079.9386
  8. Total data: 94.70 GiB
  9. Size/request: 99.30 KiB
  10. Size/sec: 1.81 GiB
  11. Response time histogram:
  12. 0.014 [790046] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  13. 0.028 [147431] |■■■■■
  14. 0.042 [18943] |
  15. 0.056 [3856] |
  16. 0.070 [1394] |
  17. 0.085 [391] |
  18. 0.099 [165] |
  19. 0.113 [46] |
  20. 0.127 [1] |
  21. 0.141 [0] |
  22. 0.155 [37727] |■
  23. Latency distribution:
  24. 10% in 0.0035 secs
  25. 25% in 0.0055 secs
  26. 50% in 0.0086 secs
  27. 75% in 0.0133 secs
  28. 90% in 0.0212 secs
  29. 95% in 0.0350 secs
  30. 99% in 1.0409 secs
  31. ========== Rust (actix-web) oha ==========
  32. Success rate: 1.0000
  33. Total: 78.6992 secs
  34. Slowest: 15.3911 secs
  35. Fastest: 0.0003 secs
  36. Average: 0.0767 secs
  37. Requests/sec: 12706.6082
  38. Total data: 99.35 GiB
  39. Size/request: 104.18 KiB
  40. Size/sec: 1.26 GiB
  41. Response time histogram:
  42. 0.021 [571453] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  43. 0.042 [144019] |■■■■■■■■
  44. 0.063 [106616] |■■■■■
  45. 0.084 [53172] |■■
  46. 0.104 [22118] |■
  47. 0.125 [14140] |
  48. 0.146 [10648] |
  49. 0.167 [6473] |
  50. 0.188 [5518] |
  51. 0.209 [2872] |
  52. 0.230 [62971] |■■■
  53. Latency distribution:
  54. 10% in 0.0021 secs
  55. 25% in 0.0052 secs
  56. 50% in 0.0145 secs
  57. 75% in 0.0484 secs
  58. 90% in 0.1082 secs
  59. 95% in 0.3382 secs
  60. 99% in 1.0657 secs
  61. ========== Rust (tide) wrk ==========
  62. Thread Stats Avg Stdev Max +/- Stdev
  63. Latency 44.52ms 35.65ms 324.00ms 67.55%
  64. Req/Sec 4.00k 613.36 10.05k 70.29%
  65. 716042 requests in 30.09s, 67.90GB read
  66. Requests/sec: 23794.67
  67. Transfer/sec: 2.26GB
  68. ========== Rust (actix-web) wrk ==========
  69. Thread Stats Avg Stdev Max +/- Stdev
  70. Latency 50.33ms 7.94ms 118.28ms 69.65%
  71. Req/Sec 3.26k 221.62 3.74k 71.50%
  72. 583704 requests in 30.07s, 58.05GB read
  73. Requests/sec: 19410.66
  74. Transfer/sec: 1.93GB

Video:https://www.youtube.com/watch?v=3iA1G0l4PEw

线程优先级控制thread-priority

一个用来控制线程调度策略和线程优先级的库。目前支持主流操作系统。

最小实例——将当前线程优先级调至最低:

  1. use thread_priority::*;
  2. fn main() {
  3. assert!(set_current_thread_priority(ThreadPriority::Min).is_ok());
  4. }

GitHub:https://github.com/vityafx/thread-priority

简单音频控制守护进程sacand

一个简单的音频控制和通知守护进程,通过 libnotify 发送报告 pulseaudio 状态的通知。

GitHub:https://github.com/ZenTauro/sacand

去中心化操作系统snarkOS

snarkOS 是一个用于私有应用程序的去中心化操作系统。它构成了 Aleo 的主干,使应用程序能够以可公开验证的方式验证和存储状态。

GitHub:https://github.com/AleoHQ/snarkOS

双人棋盘游戏Uisge

e4a3f809d567ea8ab82f100fe4cfe960.png

cargo run --release

GitHub:https://github.com/golmman/uisge

教程文章

  • 二叉树插入:https://dawchihliou.github.io/articles/binary-tree-insertion-in-rust

  • 为 Web 编写一个 Tiny Rust 游戏引擎:https://dev.to/stevepryde/create-a-desktop-app-in-rust-using-tauri-and-yew-2bhe

  • 使用 Tauri 和 Yew 创建一个桌面应用:https://dev.to/stevepryde/create-a-desktop-app-in-rust-using-tauri-and-yew-2bhe


From 日报小组 长琴

社区学习交流平台订阅:

  • Rustcc 论坛:支持 rss

  • 微信公众号:Rust 语言中文社区

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/805648
推荐阅读
相关标签
  

闽ICP备14008679号