账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    统计数组中小于4的数
    8
    0
    假设在一个1千万长度的数组中,基本可以肯定只有几十个数小于4。如果要统计具体小于4的数有多少,是否有比较高效率的方法。我现在的思路是,因为小于4的数很少,是否能减少if分支的数量,比如四个数为一组,因为即使四个位一组,if的结果也99%都为false,应该有利于分支预测,但是实际测试下来并没有一个提升。if(pb[i]<4||pb[i+1]<4||pb[i+2]<4||pb[i+3]<4){ //在逐一判断一次,看具体有几个数小于4}现在我想通过avx2指令做类似上述的操作。通过_mm256_cmpgt_epi64指令一次比较四个数,但是返回的也是__m256i类型,而且为true时,64个位填充的0xFFFFFFFFFFFFFFFF。这样的话,问题就转变成判读__m256i中的每个数是否都含有1,但是我找了半天没发现有这样的指令。我也不确定这样的做法是否有效率,只是想到了就想测试一下。求大家解惑。
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版

    回答动态

    菇凉不要狂:发布了悬赏问题9414754预计能赚取 0积分收益
    发布了悬赏问题9414754预计能赚取 11积分收益
    与可爱私奔:发布了悬赏问题9414754预计能赚取 0积分收益
    今夜月影如卿:发布了悬赏问题9414754预计能赚取 10积分收益
    掱機吥離掱!:发布了悬赏问题9414754预计能赚取 0积分收益
    哈利波特别大:发布了悬赏问题9414754预计能赚取 0积分收益
    荒野的公寓:发布了悬赏问题9414754预计能赚取 11积分收益
    酒醉思红颜丨:发布了悬赏问题9414754预计能赚取 11积分收益
    发布了悬赏问题9414754预计能赚取 11积分收益
    HHHHHHHH。:发布了悬赏问题9414754预计能赚取 0积分收益