diff --git a/include/types.h b/include/types.h index deda3a06..b8ab11a4 100644 --- a/include/types.h +++ b/include/types.h @@ -24,3 +24,6 @@ struct GraphUpdate { Edge edge; UpdateType type; }; + +#define likely_if(x) if(__builtin_expect((bool)(x), true)) +#define unlikely_if(x) if (__builtin_expect((bool)(x), false)) diff --git a/src/l0_sampling/sketch.cpp b/src/l0_sampling/sketch.cpp index 8da5314e..7280f1ad 100644 --- a/src/l0_sampling/sketch.cpp +++ b/src/l0_sampling/sketch.cpp @@ -64,7 +64,7 @@ void Sketch::update(const vec_t update_idx) { for (unsigned i = 0; i < num_buckets; ++i) { col_hash_t depth = Bucket_Boruvka::get_index_depth(update_idx, seed + i, num_guesses); size_t bucket_id = i * num_guesses + depth; - if (depth < num_guesses) + likely_if(depth < num_guesses) Bucket_Boruvka::update(bucket_a[bucket_id], bucket_c[bucket_id], update_idx, checksum); } }