【Rust日报】 2020-01-31 Rust編譯模型災難

2024-06-23 00:38

本文主要是介绍【Rust日报】 2020-01-31 Rust編譯模型災難,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

rust 1.41了!

除了一些功能更新

重要的是不再支援32-bit Apple產品了

read more

open-source security key

google 使用rust實作了 OpenSK

支援 FIDO U2F, FIDO2 兩種標準

read more

Rust編譯模型災難

文章作者Brian Anderson是Rust編程語言 及其姊妹項目Servo Web瀏覽器的共同創始人之一。

他現在在PingCAP擔任高級數據庫工程師。

他希望解決TiKV編譯緩慢的問題

在開發模式下進行完全重建可能需要15分鐘,在發布模式下可能需要30分鐘。

對於大型系統項目的開發人員來說,這聽起來可能並不那麼糟糕,

但是它比許多開發人員對現代編程環境所期望的要慢得多。

TiKV是一個相對較大的Rust代碼庫,

有200萬行程式碼。相比之下,Rust本身包含300萬行,而Servo則包含270萬行。

編程語言設計充滿了權衡利弊。這些基本選擇之一是runtime性能與編譯性能,

Rust團隊幾乎總是選擇runtime性能而不是編譯更快速。

如果快速編譯時間不是Rust設計的核心原則,那麼Rust的核心設計原則是什麼?這裡有一些:

實用性-它應該是一種可以在現實世界中使用的語言。

實用主義-它應該要讓人覺得可用,並且將其整合到之前的系統中。

內存安全性-它必須強制執行內存安全性,並且不能接受記憶體存取錯誤。

性能-它必須與C++在一樣快。

並發-它必須提供現代的解決方案來編寫並發代碼。

但這並不是說Rust設計師沒有在快速編譯時間中考慮任何因素。

但因為利弊的權衡,編譯器的性能還是愈來愈慢。

當作者每天使用Rust編譯器工作時,

電腦上至少擁有三份程式碼是很常見的,在其他所有版本都在構建和測試的同時。

我將開始在工作區1編寫程式,開始編譯,然後跳到工作區2,

開始在工作區2工作,編譯後再切換回工作區1。不斷進行在不同的工作區中切換。

雖然在2019年Rust的編譯速度有了提升,但目前Rust還是編譯的不夠快。

下一集會是作者如何優化Rust的編譯速度以達到產品經理的期待

read more

Bastion 0.34

什麼是Bastion?

Bastion是一個高度可用的容錯runtime系統,具有面向動態調度的輕量級流程模型。

它為輕量級過程實現提供了諸如並發之類的參與者模型,

並有效地利用了所有系統資源,並保證了每次傳送最多的消息。

基於消息的通信與actor model的Mesh網路。

runtime容錯能力使其成為分佈式系統的理想選擇。

具有NUMA感知和仿射緩存SMP執行程序的完全異步runtime。

監督系統使管理生命週期變得容易。

目前哪邊有用到Bastion?

SkyNet (Discord 機器人,用來重新發送已刪除的訊息)

在AWS Lambda中,我們使用Bastion啟用重試機制,並嘗試不同的解析策略來處理數據。

read more

Tide 0.6 了

Tide是一個還不成熟的 web framework

這一版增加了對CORS的支持與新的cookies API

也增加了一些新語法讓人用起來更簡單

read more

oreboot

oreboot是coreboot的分支

https://zh.wikipedia.org/wiki/Coreboot

來自維基百科的說明

coreboot,原名LinuxBIOS,是一個旨在取代大多數電腦中專有韌體(BIOS或UEFI)的軟體專案,它採用輕量級韌體設計,只執行載入和執行現代32位元或64位元作業系統所需的最少量任務。

Oreboot當前僅支援LinuxBoot。

Oreboot想利用Rust的安全性製作一個安全穩定快速的BIOS程式。

read more


From 日报小组 @Damody

这篇关于【Rust日报】 2020-01-31 Rust編譯模型災難的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085847

相关文章

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Rust 数据类型详解

《Rust数据类型详解》本文介绍了Rust编程语言中的标量类型和复合类型,标量类型包括整数、浮点数、布尔和字符,而复合类型则包括元组和数组,标量类型用于表示单个值,具有不同的表示和范围,本文介绍的非... 目录一、标量类型(Scalar Types)1. 整数类型(Integer Types)1.1 整数字

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s