240 发简信
IP属地:河南
  • 120
    十分钟搞懂WebAssembly

    WASM支持将C/C++/Go/Rust等语言实现的代码编译为浏览器可执行的机器码,从而支持浏览器以接近原生应用的性能运行相关应用。在边缘计算领域,WASM也在尝试建立自己的...

  • 我是你参考的那篇文章的作者 shines77,很荣幸搜到了你的文章,最近才发现,我以前的写的有一个漏洞,就是例如:uint32_t i = num / 7; 除数为 7, 14, 19, 21 等数的时候,计算出来的相乘系数M是不对的,需要修正。

    比较正确的做法是,和编译器的做法一致:https://zhuanlan.zhihu.com/p/151038723

    我在写:https://github.com/shines77/ArrayRotate 的时候发现了这个问题,并且做了修正,但是我的做法更测底一点,比编译器的做法更好,对于 7, 14, 19, 21 这种情况,编译器需要6条指令,我的做法只需要4条指令,最关键的是可以省掉两种情况的 if 判断。

    具体的做法可以参考(这次我做得比较全面,希望不要留下bug,持续在改进中):

    https://github.com/shines77/ArrayRotate/blob/master/src/jstd/FastDiv.h
    或者
    https://gitee.com/shines77/ArrayRotate/blob/master/src/jstd/FastDiv.h

    由于代码越来越臃肿,FastDiv.h 和 FastMod.h 可能会重新另建一个单独的仓库。

    32位编译器整型乘除法优化

    乘法 乘法指令 mul ;无符号乘法 imul ;有符号乘法 常量 * 常量:在编译期就被编译器优化了,不会调用乘法指令,直接将运算结果赋予存放结果的内存 变量 * 变...

  • 32位编译器整型乘除法优化

    乘法 乘法指令 mul ;无符号乘法 imul ;有符号乘法 常量 * 常量:在编译期就被编译器优化了,不会调用乘法指令,直接将运算结果赋予存放结果的内存 变量 * 变...

  • 120
    TCMalloc解密

    原文请移步我的博客:TCMalloc解密 写在前面 本文首先简单介绍TCMalloc及其使用方法,然后解释TCMalloc替代系统的内存分配函数的原理,然后从宏观上讨论其内存...

  • 120
    在 VS 2010/2012/2013/2015 中集成 yasm 1.3.0

    1、yasm 简介 yasm 支持 nasm 语法,同时支持 Windows、Linux、Mac OS 多个操作系统,对指令集(MMX、SSE、AVX等)的支持也还不错,所以...

  • Succinct Data Structure

    最近看了一篇论文 SuRF: Practical Range Query Filtering with Fast Succinct Tries ,里面提到使用一种新的数据结...

  • 120
    谷歌的一致性哈希算法

    这个算法零内存、分布均匀、计算快速,全是优点了。但是。。。 一、背景 三年前在《一致性hash基础知识》文章中,曾提到 google 有一个算法简单的计算就做到了一致性哈希需...

  • 120
    面试官再问你 HashMap 底层原理,就把这篇文章甩给他看

    前言 HashMap 源码和底层原理在现在面试中是必问的。因此,我们非常有必要搞清楚它的底层实现和思想,才能在面试中对答如流,跟面试官大战三百回合。文章较长,介绍了很多原理性...

  • 120
    RocketMQ实战(四)

    前言 这将是RocketMQ实战系列的最后一篇文章,该系列的文章列表如下: 《RocketMQ实战(一)》 《RocketMQ实战(二)》 《RocketMQ实战(三):分布...

  • 120
    RocketMQ实战(三):分布式事务

    接 《RocketMQ实战(一)》,《RocketMQ实战(二)》,本篇博客主要讨论的话题是:顺序消费、RMQ在分布式事务中的应用等。 关于多Master多Slave的说明 ...

  • 120
    RocketMQ实战(二)

    在上一篇《RocketMQ实战(一)》中已经为大家初步介绍了下RocketMQ以及搭建了双Master环境,接下来继续为大家介绍! Quick Start 写一个简单的生产者...

  • 120
    RocketMQ实战(一)

    阿里巴巴有2大核心的分布式技术,一个是OceanBase,另一个就是RocketMQ。在实际项目中已经领教过RocketMQ的强大,本人计划写一个RocketMQ实战系列,将...