【Rust日报】2023-02-28 Rust 和 WASM 如何驱动 1.1.1.1

news2024/11/15 4:55:19

为什么用 Rust 构建原生 UI 程序这么困难

Rust 正被用于构建 Linux 内核和 Android 操作系统,也被 AWS 用于关键基础设施,以及用于 ChromeOS 和Firefox。尽管 Rust 很有前景,但它在 GUI 原生开发领域还有所欠缺。在 2019 年,GUI 是阻碍采用 Rust 的第六大原因。这其实与语言本身的设计有关,Rust 使得构建 UI 的常见方法进行建模很困难。‍

在Warp,我们一直在用 Rust 构建一个自定义的UI框架,用来在 GPU 上渲染。构建这个框架是非常棘手的,也是一项巨大的投资,但它在构建一个拥有丰富 UI 元素的终端时发挥了很好的作用,其速度不亚于地球上的任何其他终端。如果我们使用 Electron 或 Flutter 这样的非原生方式来运行,这种水平的性能几乎是不可能的。

在这篇文章中,我将讨论为什么Rust独特的内存管理模型和缺乏继承性使得传统的技术难以建立一个 UI 框架,以及我们一直在解决这个问题的一些方法。我相信这些方法中的一种,或者它们的某种组合,最终将构成一个稳定的跨平台 UI 工具包,用于高性能 UI 渲染,最终给每个人使用。

6c4eca833d194fd6fec3b118f2cff8df.png

ReadMore: https://www.warp.dev/blog/why-is-building-a-ui-in-rust-so-hard

Rust 和 WASM 如何驱动 1.1.1.1

2018年4月1日,Cloudflare 宣布推出 1.1.1.1 公共DNS解析器。多年来,我们在平台上添加了用于故障排除的调试页面、全局缓存清除、Cloudflare上区域的0 TTL模式、上游TLS和家庭用的的1.1.1.1。在这篇文章中,我们想分享一些幕后的细节和变化。

当项目开始时,Knot Resolver 被选为DNS解析器。我们开始在它的基础上构建一个完整的系统,以便它能适合Cloudflare的使用情况。拥有一个经过实战检验的DNS递归解析器,以及一个DNSSEC验证器,真是太棒了,因为我们可以把精力放在其他地方,而不是担心DNS协议的实现。Knot Resolver 在其基于 Lua 的插件系统方面相当灵活。它允许我们快速扩展核心功能,以支持各种产品特性,如 DoH/DoT、日志、基于 BPF 的攻击缓解、缓存共享和迭代逻辑覆盖。但是随着流量的增长,我们遇到了某些限制难以突破。终于,我们下定决心重新实现一套 DNS 解析器,基于 Rust 和 WASM 来实现。

ReadMore: https://blog.cloudflare.com/big-pineapple-intro/


From 日报小组 Koalr

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/382718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Springboot】Springboot集成 Druid

Springboot集成 Druid 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringData的方式进行统一管理,添加大量的自动配置,屏蔽了很多设置。引入了各种XxxTemplate和XxxRepository来简化我们队数据访问层的操作。 Sp…

FCT: The Fully Convolutional Transformer for Medical Image Segmentation 论文解读

The Fully Convolutional Transformer for Medical Image Segmentation 论文:The Fully Convolutional Transformer for Medical Image Segmentation (thecvf.com) 代码:Thanos-DB/FullyConvolutionalTransformer (github.com) 期刊/会议:W…

性能调优,看过的都说会了...

在展开今天的内容之前,我们先来看一下,是不是任何一个测试都可以学习性能测试。 如果说需求、开发、DB、运维、测试是单一一门学科,那么性能就是综合学科,它包含了需求分析、DB、开发、测试、运维的所有学科。 所以说&#xff0…

深度学习在耐火砖项目的一些思考

1.项目概述 年前,产品经理找到我,让我去测试3D视觉耐火砖拆垛项目。大概就是这种转 2. 实际情况 去了现场,采集图像,标定相机和机器人。发现客户不是要顶点的中心点坐标,而是要侧面中心点坐标。因为他们是从侧面抓…

Spring中Emable和Import相关操作

05-SpringBoot自动配置-Enable注解原理 SpringBoot不能直接获取在其他工程中定义的Bean 演示代码: springboot-enable工程 /*** ComponentScan 扫描范围:当前引导类所在包及其子包** com.itheima.springbootenable* com.itheima.config* //1.使用Compo…

mysql数据库之sql优化

一、插入数据时的优化。 1、批量插入。 insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); 2、手动提交事务。 start transaction; insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); insert into tb_test values(4,Tom),(5,Cat),(6,Jerry); insert into tb_test…

【Web服务部署】使用gunicorn部署django程序并一键更新

Web服务部署 【Linux防火墙】网络ip和端口管理 Windows云服务器使用IIS搭建PythonDjangoMysql网站,以及如何部署多个网站 WindowsIIS部署多个Django网站 文章目录Web服务部署前言一、Gunicorn是什么?二、Gunicorn基本使用1.引入库2.常用命令3.gunicorn快…

【Servlet篇2】Servlet的工作过程,Servlet的api——HttpServletRequest

一、Servlet的工作过程 二、Tomcat的初始化 步骤1:寻找到当前目录下面所有需要加载的Servlet(也就是类) 步骤2:根据类加载的结果创建实例(通过反射),并且放入集合当中 步骤3:实例创建好之后,调用Servlet的init()方…

SpringBoot接口+Redis解决用户重复提交问题

前言 1. 为什么会出现用户重复提交 网络延迟的情况下用户多次点击submit按钮导致表单重复提交;用户提交表单后,点击【刷新】按钮导致表单重复提交(点击浏览器的刷新按钮,就是把浏览器上次做的事情再做一次,因为这样也…

前后端分页查询好大的一个坑(已解决)

前言:如果你在做前后端的分页查询,找不到错误,请你来看看是否是和我一样的情况?情况:做了一个前后盾UI的项目,有一个页面是查询系统日志,要进行分页查询;第一页的:第5页的…

MYSQL 基础篇 | 02-MYSQL基础应用

文章目录1 MySQL概述2 SQL2.1 SQL通用语法2.2 SQL分类2.3 DDL2.3.1 数据库操作2.3.2 表操作2.4 DML2.4.1 添加数据2.4.2 修改数据2.4.3 删除数据2.5 DQL2.5.1 基础查询2.5.2 条件查询2.5.3 聚合查询2.5.4 分组查询2.5.5 排序查询2.5.6 分页查询2.5.7 综合练习2.6 DCL2.6.1 管理…

SQLMAP使用

SQLMAPSQLMAP是什么SQLMAP可以对URL做什么?SQLMAP支持的注入技术SQLMAP检测注入漏洞流程:SQLMAP的误报检测机制SQLMAP基本使用常见用法常见参数tamper参数操作系统权限参数文件读写参数SQLMAP是什么 SQLMAP是一个开源的自动化SQL注入工具,主…

SAP 生产订单/流程订单中日期的解释

SAP 生产订单/流程订单中日期的解释 基本开始日期:表示订单的开始日期 基本完成日期:表示订单的完成日期 我们在输入基本开始日期和基本完成日期时需要关注 调度 下面的“类型”,其中有向前、向后、当天日期等: 调度类型 为向前…

上海交大陈海波教授、夏虞斌教授领衔巨作上市:《操作系统:原理与实现》

❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。2022年度博客之星评选TOP 10🏆,Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作…

java 进阶—线程的常用方法

大家好,通过java进阶—多线程,我们知道的什么是进程,什么是线程,以及线程的三种创建方式的选择 今天,我们来看看线程的基础操作 start() 开启线程 public class Demo implements Runnable {Overridepublic void run…

第五回:样式色彩秀芳华

import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np第五回详细介绍matplotlib中样式和颜色的使用,绘图样式和颜色是丰富可视化图表的重要手段,因此熟练掌握本章可以让可视化图表变得更美观,突出重点和凸显艺术性。…

施工机械设备群远程在线监控管理系统

一、项目背景 在加强基础设施建设等一系列政策的牵引下,我国工程机械设备市场连续保持强劲增长势头,伴随国内中高端机械设备公司业务的不断扩展,施工大型机械设备的应用率不断提高,铁路施工特别是架桥机作业过程被认为是一个极易出…

元宇宙到底是什么?元宇宙解读,这一篇就够了!

欢迎来到Hubbleverse 🌍 关注我们 关注宇宙新鲜事 📌 预计阅读时长:12分钟 本文仅代表作者个人观点,不代表平台意见,不构成投资建议。 在元宇宙中,我们被承诺可以成为任何人,做任何事&#…

JavaSE20-集合1-list

文章目录一、集合概念二、list集合1、list集合特点2、ArrayList2.1 创建对象2.2 常用方法2.3 遍历2.3.1 使用索引遍历2.3.2 使用迭代器遍历2.3.3 使用foreach遍历2.3.4 集合转换为数组遍历3、LinkedList3.1 创建对象3.2 常用方法3.3 遍历4、ArrayList和LinkedList的区别一、集合…

支持DDR5,超频更简单,小雕够给力,技嘉B760M小雕WIFI主板上手

目前13代酷睿已经全员集结了,其中全新的i5 13490F应该依然会备受欢迎,当然了,刚上市不久的13代酷睿价格方面还不是很有吸引力,好在12代酷睿在新一代主板上面依然可用,所以预算有限的朋友,完全可用继续使用1…