V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hbdh5  ›  全部回复第 3 页 / 共 3 页
回复总数  45
1  2  3  
2022-03-07 15:03:08 +08:00
回复了 x97bgt 创建的主题 程序员 关于序列化和编码这两个概念的疑惑
的确有很多东西混在了一起,说说我的理解把

首先序列化,先说广义的序列化,serialization ,serial 的变体,有使其可顺序排列的意思,任何图灵机的数据本来就是有序的。但从实践上讲,考虑到字节序、不同编程语言环境、乃至同一编程语言下不同运行环境上下文的不同,以及 deserialization 的需求,我们一般把运行时数据结构视为黑箱。

于是我们有 serialization ,deserialization.
侧重点是把黑箱的,不是那么 pure 的数据表示为 serial 的数据格式。

编码有也 encode, decode.
这两个概念很像,但他们的侧重点不同。

encode 表达数据的转换过程,从一种信息表示方式转换为另一种信息表示方式。

注意,encode 的过程并没有要求数据的两端有任何性质,而是广义的说一种信息表示方式,并且特别注重信息的转换过程,于是你经常能在密码学和信息论里看到这个词汇。
而 serialization 一般表示之前的数据是不是很 serial 的,经过这个过程变得 serial 了,而 serial 的数据天生就适合 FIFO 这种数据结构,因此一般你在和 serialization 的地方也一般能看到和 xxxStream 一起使用。
@duke807 但凡你深入接触过 rust 社区你就会知道用 unsafe rust 的群体大多都是 library 的开发者,水平就算不说很高,对你说的那些所谓的底层有的是人比你懂得多。unsafe rust 的目的从来不是和 c 比,甚至也不是和 c++比,而是为上层的,高阶的 rust 提供一个可靠的,安全的抽象。
文章写的还好,只是写了太多太初级的东西。都用 unsafe 了一般都会假设读者有一定的知识背景,写太多有点水文章的嫌疑。关于 subtyping 的部分用了太多像是"收缩,扩张,至少"之类的感觉不太合适的词汇,整个概念没有说清楚。从左右值的概念入手可能会比较好一些
你弄反了顺序,不是"A 跟 B 一样"隐含"B 比 A 具有更特殊的地位",而是相比 A 具有更特殊的地位的 B 可以被句式"A 跟 B 一样"接受

就算相比 A 没有特殊地位也可以被"A 跟 B 一样"接受,比如 "具有最小上界和最大下界一样"。这句话就没有任何隐含,如果你想找,例子还多的是。

拿编程比较,那就是

class "A 跟 B 一样" {
fn accept(A, B) where B special then A;
fn accept(A, B) where B same as A;
}

"A 跟 B 一样" 的语义的关联部分由句式决定,但 A ,B 的关系是你在代入的时候决定的。
2021-12-11 19:39:31 +08:00
回复了 gckend 创建的主题 Python 两个占用内存大小 20G+的矩阵做相乘, 10 块 GPU
简单分个块不就可以么,20g+的话分成 2x2 就行了,数据算完就取回内存或者先暂存到磁盘,乘的时候可以用 strassen 算法能减少一次子块乘
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2881 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 14:53 · PVG 22:53 · LAX 06:53 · JFK 09:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.