小编Rus*_*ord的帖子

如何从SortedDictionary获取最接近我的键的项目?

目前我正在使用SortedList<T,U>针对特定数字的二进制搜索,如果它不存在,我将获得最接近的下限键项.

我看到插入未分类数据的速度相当慢,我正在做很多事情.

有没有办法做类似的事情SortedDictionary,或者我应该坚持我的SortedList

.net c# collections performance

7
推荐指数
1
解决办法
2991
查看次数

GCC和Clang都不会通过编译时已知的函数指针数组内联调用 - 为什么?

Compiler Explorer上的示例代码:https://godbolt.org/g/fPfw4k

我试图使用一组函数指针作为跳转表而不是开关,因为我发现它更干净.然而,令我惊讶的是,GCC和Clang编译器似乎都无法强调这一点.

有具体原因吗?

示例代码包含死链接:

namespace{
template<int N>
int bar(){
    return N;
}

int foo1(int n){
     if(n < 0 || n > 5){
        __builtin_unreachable();
    }
    #if __clang__
    __builtin_assume(n >= 0 && n <= 5);
    #endif
    static int (* const fns[])() = {
        bar<0>, bar<1>, bar<2>, bar<3>, bar<4>, bar<5>
    };
    return fns[n]();
}

int foo2(int n){
    #if __clang__
    __builtin_assume(n >= 0 && n <= 5);
    #endif
    switch(n){
        case 0:
            return bar<0>();
        case 1:
            return bar<1>();
        case 2:
            return …
Run Code Online (Sandbox Code Playgroud)

c++ gcc

5
推荐指数
1
解决办法
619
查看次数

标签 统计

.net ×1

c# ×1

c++ ×1

collections ×1

gcc ×1

performance ×1