一种基于AVX2指令集的有序列表(如倒排列表)求交集算法
有序列表求交集是一种重要的算法,它有很广泛的用途,比如搜索引擎会用它求倒排列表的交集。
我最近实现了一个有序列表求交集算法叫“highlyscalable_avx2”,之所以取这个名字是因为它其实来源于一个叫“highlyscalable_SIMD”的算法。
highlyscalable_avx2的思路和highlyscalable_SIMD基本一样,只不过前者用了AVX2指令集来加速,一次能比较两组8个整数的数组,而后者一次只能比较两组4个整数的数组。
算法的代码的地址在:https://github.com/ralgond/SortedListIntersection/blob/main/algo_highlyscalable_avx2.cpp

浙公网安备 33010602011771号