首页 > 其他分享 >用 Rust 重写网站,性能提升了18倍!

用 Rust 重写网站,性能提升了18倍!

时间:2022-09-06 11:11:11浏览次数:51  
标签:网站 18 Jonas Hietala 重写 Rust

对于构建中小型网站/个人博客来说,Hakyll 是一个不错的静态网站生成器库,9 年前的 Jonas Hietala 正是选择了 Hakyll 编写博客网站。但随着时间的推移,网站出现各种问题,诸如速度越来越慢,许多外部依赖性,设置问题等,Jonas Hietala 决定用 Rust 重写。

选择Rust 的原因是?
1.Jonas Hietala 很喜欢Rust,而且它很适合业余项目。
2.Rust非常高效,非常擅长转换文本。
3.Cargo很流行,只要安装了Rust,运行cargo build,就可以构建网站。

最终用Rust 重写网站,解决了哪些难题呢?
1.性能。重建完整的站点需要4秒(不包括编译时间),18倍的性能提升。
2.单一依赖。网站的一切都是用Rust编写的,不需要安装外部脚本或工。
3.Cargo正常工作。只要系统安装了Rust,cargo build就可以正常工作,你不必手动寻找丢失的依赖项。
4.Rust减轻了编译的负担。Rust对于他个人来说更容易理解。

 

标签:网站,18,Jonas,Hietala,重写,Rust
From: https://www.cnblogs.com/ftkj-2018/p/16661105.html

相关文章

  • 信息学奥赛一本通 1188:菲波那契数列(2)
    时间限制:1000ms      内存限制:65536KB提交数:46311   通过数:17428【题目描述】菲波那契数列是指这样的数列:数列的第一个和第二个数都为<spa......
  • Rust 如何实现 async/await
    目录FutureWake&Context为什么需要executor?什么是waker?async/awaitExecutorWakerstruct到ArcWaketraitFuturesUnordered单线程executor线程池executor总结异......
  • ubuntu1804 pixel xl 编译安装lineage-18.1
    官方文档https://wiki.lineageos.org/devices/marlin/build下载源码repoinit-uhttps://github.com/LineageOS/android.git-blineage-18.1reposync-c此处需要梯......
  • Revit2018二次开发——外部工具不显示
     安装包下找到D:\aaa\Revit_2018_G1_Win_64bit_dlm\Utilities\SDK\SoftwareDevelopmentKit中的RevitSDK.exe也可以直接通过安装解压这个东西。  找到一个addin文件......
  • 如何在 RUST 的官方包管理器 CARGO 中发布项目!
    如何在RUST的官方包管理器CARGO中发布项目!介绍货物是系统和语言包管理器锈.大多数Rust开发人员使用这个工具来管理他们的项目,因为货物为您处理许多任务,例如......
  • 2022-2023-1 学号20221418 《计算机基础与程序设计》第1周学习总结
    2022-2023-1学号20221418《计算机基础与程序设计》第1周学习总结作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP这个......
  • Codeforces Round #818 (Div. 2) E 补题
    原题链接发现枚举\(gcd(a,b)\)的值时间复杂度最优,因为\(a+b=k*gcd(a,b)(k=2,3,4...)\),这样的话总的枚举次数就是调和级数,所以外层枚举的复杂度为\(O(nlogn)\),问题转化为......
  • Rust & WebAssembly All In One
    Rust&WebAssemblyAllInOnerustwasmLearnhowtobuild,debug,profile,anddeployWebAssemblyapplicationsusingRust!了解如何使用Rust构建、调试、分析......
  • Codeforces Round #818 (Div. 2) A-E
    CodeforcesRound#818(Div.2)A-E传送门题目A问有多少对\(1\leqa,b\leqn\),满足\(\frac{lcm(a,b)}{gcd(a,b)}\leq3\)已知\(lcm(a,b)=a*b/gcd(a,b)\),原式可化为\(......
  • git 重写历史
    aliases:[]tags:[git,blog]link:date:2022-08-30目录aliases:[]tags:[git,blog]git重写历史提交信息修改最新log修改多个提交信息参考链接git重写历史提交信......