lmshl 最近的时间轴更新
lmshl

lmshl

V2EX 第 69210 号会员,加入于 2014-07-28 18:09:34 +08:00
今日活跃度排名 11175
10 年资深全栈、架构求职 - 上海
  •  1   
    求职  •  lmshl  •  2023-08-08 19:13:01 PM  •  最后回复来自 yudoo
    60
    Scala 语法糖多吗?
    程序员  •  lmshl  •  2022-05-14 00:52:10 AM  •  最后回复来自 hepin1989
    22
    [北京/上海]全栈工程师求职
    求职  •  lmshl  •  2016-03-03 16:19:20 PM  •  最后回复来自 guoxing
    9
    lmshl 最近回复了
    48 天前
    回复了 MoeMagicMango 创建的主题 程序员 小 心 任 何 二 次 接 手 的 代 码
    这代码写的挺不错的啊,没看出来哪里有问题
    170 天前
    回复了 wuoty 创建的主题 JavaScript 请教 JS 中有关 Promise 和回调函数的写法问题
    ```
    import { fromEvent } from 'rxjs';

    const clicks = fromEvent(img, 'onload');
    clicks.subscribe(x => { <你的业务逻辑> });
    ```
    不要自作聪明发明那些不可维护的代码,你能想得到的场景,早已有无数前辈替你趟过坑。
    等你哪天觉得 “RxJS 不过如此,我还有个更好的想法” 的时候,再发明也不迟(顺便发几篇论文)
    版本答案:RocksDB (与其他 leveldb family 产品)

    解析:203 亿个 bloomfilter 在 p=0.01 下所需的内存空间约为 23.75GB 。实际上,去重所需的空间会少于 203 亿,所以在这个内存空间下,实际 p 值将进一步降低。

    大部分人可能对 bloomfilter 的使用存在误解,他们只考虑在只有 bloomfilter 单一算法存在的前提下来解决需求,这显然是错误的。现代数据库对 bloomfilter 的应用主要是用来降低 miss key 对磁盘 IO 的影响。如果 bloomfilter 认为这个 key 没有出现过,那么这个 key 确实没有出现过。当 bloomfilter 认为它可能出现过,那么出现的概率为 1-p ,此时需要回表二次确认(磁盘 IO )。

    假设一个典型的重复度为 10 倍的 200 亿数据表文件,在这个空间下,p 值会低至 1e-20 。

    那么对这个文件去重,总共会发生 200 亿次内存 bloomfilter 读取,20 亿次 bloomfilter 写入+磁盘顺序写入,以及 180 亿次磁盘随机读取。(考虑到数据库对磁盘的批量写入优化,sstable/memtable 这个数值将会被巨幅降低)

    假设一个重复度为 0.1 倍的 200 亿数据表文件,在这个空间下,p 值变化不大。

    那么对这个文件去重,总共发生 200 亿次内存 bloomfilter 读取,180 亿次 bloomfilter 写入+磁盘顺序写入,以及 20 亿次磁盘随机读取。(同上)

    根据网上其他人做的吞吐量测试,rocksdb 在现代硬件条件下可以稳定达到 10k*rows/s 以上的写入性能,或>1GB/s 的写入吞吐量。乐观地估计,6.2TB 的文件应该能在 2 小时到 2 天左右完成去重。
    189 天前
    回复了 Gabrielle70 创建的主题 程序员 学一门 IT 技术: 精学和泛学哪种效率高?
    我没有泛学也没有精学,我就直接开写
    反正你泛学精学的目标也是最终变成自己的技能,能写得出来。
    那为何不直接开始写。

    学习学习,学只是一半,习是另一半。只学不习永远学不会
    先把 Explain 贴上来再说
    232 天前
    回复了 dsvshx 创建的主题 Java Grpc 服务优化 GC 的一个问题,请教一下大佬们
    一个大部分连续的 bytes 卡住 gc ,听起来还是很离谱的,除非你给出详细测试步骤,不然很难证明你的前提是对的。
    即便你前提成立,也可以简单粗暴的直接上 ZGC 来解决,不需要你重复发明任何东西。
    234 天前
    回复了 nnegier 创建的主题 程序员 Java 后端有用 Kotlin 的吗?
    我是精通 Scala ,同时也熟悉且写过万把行 Rust ,所以换到 Kotlin 对我来说算是能力上封印了。
    至于论坛里没写过几行 coroutine 的开发来说,对鞋城和虚拟县城的理解不一定强于前端仔( async/await ),现在谈 VT 取代 coroutine 有点言之过早
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2592 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 16ms · UTC 06:26 · PVG 14:26 · LAX 22:26 · JFK 01:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.