首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Rust日报】2023-02-08 Rustproofing Linux

【Rust日报】2023-02-08 Rustproofing Linux

作者头像
MikeLoveRust
发布于 2023-02-15 12:51:53
发布于 2023-02-15 12:51:53
57211
代码可运行
举报
运行总次数:1
代码可运行

Rust面向对象研究 - 封装

在本篇中,作者对面向对象做了初步的介绍,并用代码展示了Rust的基本封装方法。

https://www.thecodedmessage.com/posts/oop-1-encapsulation/

Rust面向对象研究 - 多态

在本篇中,作者对面向对象理论的第二根支柱——多态——进行了实践研究。

https://www.thecodedmessage.com/posts/oop-2-polymorphism/

sniffnet - Rust实现的网络监控工具

界面非常不错,现在发布了v1.1版,功能更加完整。

使用Rust为Python写扩展的9条原则

Bed-Reader(一个Py生物信息学库)的作者总结的经验教训,包含9条:

  1. Create a single repository containing both Rust and Python projects
  2. Use maturin & PyO3 to create Python-callable translator functions in Rust
  3. Have the Rust translator functions call “nice” Rust functions
  4. Preallocate memory in Python
  5. Translate nice Rust error handling into nice Python error handling
  6. Multithread with Rayon and ndarray::parallel, returning any errors
  7. Allow users to control the number of parallel threads
  8. Translate nice dynamically-type Python functions into nice Rust generic functions
  9. Create both Rust and Python tests

https://towardsdatascience.com/nine-rules-for-writing-python-extensions-in-rust-d35ea3a4ec29

Matrix 2.0 官方正在引入Rust

Matrix 就是那个 Fediverse 的聊天网络。之前的Home server - Synapse 是用python写的。现在准备一点一点分模块使用Rust进行性能优化。另外一个出现的地方是SDK,使用Rust替换了之前js实现的密码学的部分。

另外还有一个第三方的Home server实现是用Rust写的:https://conduit.rs

https://github.com/matrix-org/synapse

Rustproofing Linux

这是一个系列文章,基于Rust已进入Linux kernel。此团队将研究如何将C驱动迁移到Rust上来的最佳实践。当然在迁移过程中,也会对比采用Rust来写driver到底有什么优势。

文章有四篇,强烈建议阅读学习:

  • Part 1 – Leaking Addresses:https://research.nccgroup.com/2023/02/06/rustproofing-linux-part-1-4-leaking-addresses/
  • Part 2 – Race Conditions(待写)
  • Part 3 – Integer Overflows(待写)
  • Part 4 – Shared Memory(待写)

tui-rs 需要人接手维护

tui-rs 作者貌似跑路(不出现)了。大家在商讨如何接手推进的事情。

https://github.com/fdehau/tui-rs/issues/654

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
博主这个库怎么删了
博主这个库怎么删了
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
​Python协程
协程是 python 中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源)。 为啥说它是一个执行单元,因为它自带 CPU 上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保存或恢复 CPU 上下文那么程序还是可以运行的。
忆想不到的晖
2021/04/04
6110
​Python协程
Python多任务教程:进程、线程、协程
进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序、数据集合和进程控制块三部分组成。程序用于描述进程要完成的功能,是控制进程执行的指令集;数据集合是程序在执行时所需要的数据和工作区;程序控制块包含进程的描述信息和控制信息是进程存在的唯一标志。
Python学习者
2023/08/08
3370
python网络-多任务实现之协程(27)
协程不是进程,也不是线程,它就是一个函数,一个特殊的函数——可以在某个地方挂起,并且可以重新在挂起处继续运行。所以说,协程与进程、线程相比,不是一个维度的概念。
Se7eN_HOU
2019/06/26
8590
Python协程之Gevent
协程,又称微线程,即为轻量级的线程。 python中实现协程是基于Gevent模块,Gevent模块内部封装了greenlet模块;greenlet模块实现了在单线程中切换状态,Gevent模块在此之上还实现了遇到I/O操作自动切换,使程序运行更快;但是Gevent只在遇到自己认识的I/O操作时切换,所以需要使用Gevent包的一个模块:猴子补丁,使用了这个补丁,Gevent会直接修改在它之后导入的模块中的I/O操作,使其可以让Gevent识别,从而开启协程。 Greenlet与Gevent模块都是python的第三方模块,需安装使用。
py3study
2020/01/07
8760
测试开发进阶(十)
进程之间通信 进程之间通信:使用队列 queue模块中的队列,只能用于一个进程中,各个线程之间进行通信 进程模块中的Queue:可以用于多个进程之间进行通信 ⚠️注意点:使用的时候要使用参数传递到各个进程任务中 from multiprocessing import Queue from multiprocessing import Process, Queue q = Queue() for i in range(5): q.put(i) def work1(q): while
zx钟
2019/08/29
3960
多任务—协程
协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源)。 为啥说它是一个执行单元,因为它自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保存或恢复 CPU上下文那么程序还是可以运行的。
py3study
2020/01/16
4120
Python使用gevent实现协程
  协程,又称微线程。英文名Coroutine。协程是Python语言中所特有的,在其他语言中没有。
py3study
2020/01/13
9930
Python基础|一文讲透 Python 协程
在类里面提供一个__iter__创建的对象是可迭代对象,可迭代对象是需要迭代器完成数据迭代的
陈晨135
2022/01/10
5010
concurrent.futures模块(进程池/线程池)
本节主题是实现单线程下的并发,即只在一个主线程,并且很明显的是,可利用的cpu只有一个情况下实现并发,
全栈程序员站长
2022/07/21
1.5K0
concurrent.futures模块(进程池/线程池)
Python 协程
协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源)。 为啥说它是一个执行单元,因为它自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保存或恢复 CPU上下文那么程序还是可以运行的。
Devops海洋的渔夫
2019/05/31
8360
协程
在gevent里使用tiem.sleep会失效,需要使用gevent.sleep,或者使用monkey补丁实现替换
py3study
2020/01/17
6360
Python并发编程之协程
协程:是单线程下的并发,又称微线程,纤程。协程是一种用户态的轻量级线程,即线程是由用户程序自己控制调度的。
py3study
2020/01/19
4670
Python并发编程之协程
多任务之多进程和协程实现
p1 = multiprocessing.Process(target = movietheaters)
不断折腾
2019/09/23
9100
多任务之多进程和协程实现
python3--协程,greenlet模块,gevent模块
之前学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。
py3study
2018/08/02
2.9K0
Python之协程
前言         在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。   随着我们对于效率的追求不断提高,基于单线程来实现并发又成为一个新的课题,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发。这样就可以节省创建线进程所消耗的时间。 为此我们需要先回顾下并发的本质:切换+保存状态   cpu正在运行一个任务
新人小试
2018/04/12
6770
Python之协程
Python多任务协程:编写高性能应用的秘密武器
测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供 1v1 私教指导,BAT 级别的测试管理大咖量身打造职业规划。
霍格沃兹测试开发Muller老师
2024/01/24
2600
python协程回顾
自动切换 from gevent import monkey; monkey.patch_all()
小闫同学啊
2019/07/18
4800
【说站】Python中Gevent的使用
1、可以通过gevent轻松实现并发同步或异步编程。gevent中使用的主要模式是Greenlet,它是以C扩展模块的形式访问Python的轻量级协程。
很酷的站长
2022/11/24
3570
【说站】Python中Gevent的使用
【说站】Python继承的原理分析
Python中子类可以同时继承多个父类,如果继承了多个父类,那么属性的查找方式有两种,分别是:深度优先和广度优先。
很酷的站长
2022/11/23
3160
5.并发编程协程
  本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态
changxin7
2019/09/10
4590
相关推荐
​Python协程
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档