#CodeReview #sled
Sled项目是一个用Rust编写的嵌入式数据库。该文作者在日程工作中用到了它,为了掌握它的工作原理,准备开始写这个系列的博客。也可以通过学习此文,掌握一些阅读开源项目源码的技巧或其他启示,比如:
该文作者还有一个完整的review LevelDB的系列文章:reviewing-leveldb
#wasm #smithy
状态:0.0.2 Alpha版本。
#wasm #lucet
Lucet是一个本地WASM编译器和运行时。基于Lucet运行时,Rust编译为wasm32-unknown-wasi target就可以创建一个运行于服务端的wasm程序。目前wasm32-unknown-wasi只支持Rust Nightly(2019-04-01版本确定可用)
#Gloo
Gloo是一个用Rust和Wasm构建快速可靠的Web应用程序和库的模块化工具包,于两周前开始构建。最新的进展如下:
也就是说,API的构建就像是洋葱一样,分好几个抽象层。他们希望在raw-sys库之上构建一层中级的API,然后在中级API层再构建一层高级的面向用户的API。并且每一层都是公开暴露接口并可复用。这样设计是为了最高限度地提高大型生态系统的可重用性、通用性等。
其中核心层API是构建在wasm-bindgen,js-sys和web-sys之上的原始绑定。中间层是回调(callback)层,比如gloo_timers就包含在这一层。高级层是Futures和Steams层,当然现在是futures 0.1,等异步稳定以后再切换到最新的。未来也有可能增加更高的抽象层。比如某些Web API或是为了生态系统而集成的层。
Read More
#font #xi_editor
XiEditor作者新博文,深入介绍了字体回退机制。
在操作系统介面和网页等现代排版环境下,如果指定用字体 A 来显示某字符 x 但该字体并不支持这个字符(甚至该字体当前不可用),排版引擎通常不会直接放弃,它会根据一个预先记好的列表来尝试寻找能显示字符 x 的字体,如果找到字体 B 能行,那就用字体 B 来显示字符 x。字体 B 就是当前这个情况的 fallback。
#json
特点:
比如:
// JSON String
r#"{"void":null,"list":[42,true],"hello":"world"}"#,
// Type
InlinedJSONObjectEntry<
(),
InlinedJSONObjectEntry<
JSONListElem< u8, JSONListElem >
>,
JSONObjectEntry< &str, &str, JSONObjectEnd>
>
json_in_type
#webrtc #sctp
SCTP: Stream Control Transport Protocol
#llvm #compiler
本文作者以他自己实现的Cone编译器为案例深度探索了编译器架构和LLVM的性能,并比较全面地阐述了LLVM的性能概况。
LLVM构建流程:
小百科
窥孔优化可以在四个方面寻找优化机会:冗余指令删除,包括冗余的load和store指令以及死代码(不会执行的代码);控制流优化;强度削弱;利用特有指令。
作者也从LLVM架构上探讨了LLVM缓慢的原因。并且作者还打算继续研究优化LLVM的方案以及替代LLVM的方案。更多详细请阅读原文。
#scientifc_computing #quantum_mechines
科学计算库
#gif
Read More
#mdbook
#tui #termion
由termion,tobj和nalgebra制作的独一无二的命令行3D软件光栅化工具。目前支持没有纹理或材质的OBJ文件格式。
#Drone #UAV #Quadcopter #RCPlane
状态:WIP
ufo
#erlang #supervisor #process
该库从erlang supervisor树汲取灵感,它提供了构建监督进程树的机制,当进程重启率超过指定限制时,失败可以传播。旨在为服务/容器等提供稳定支持。
#job
新加坡公司,非远程。Witnet-将智能合约连接到任何外部数据源。
#lang #learning
Mini-TT是一个简单的依赖类型语言。minitt-rs是它的Rust实现,并且还提供了一个REPL。 作者是@ice1000
#async
在最近的一条已merge的PR中,顺便列出了所有已被修复的async中已知的生命周期问题。
rust/pull/59286
日报订阅地址: