CK_HT_STAT(3)
π CK_HT_STAT(3) β get hash table status π
okay bestie, welcome to ck_ht_stat(3), the little gossip sesh where your hash table finally tells you how it's actually doing. this one lives in the Concurrency Kit β that's libck, and you link it with -lck, no cap β¨
πΈ SYNOPSIS πΈ
#include <ck_ht.h>
void
ck_ht_stat(ck_ht_t *ht, struct ck_ht_stat *st);
β¨ DESCRIPTION β¨
so like. ck_ht_stat(3) rolls up to your hash set and is like "here's the tea" β β it stores a bunch of hash set statistics into the object that st points at. that's it. that's the whole job. main character behavior tbh π
and the ck_ht_stat structure? she's a whole vibe, here's her exact fit:
struct ck_ht_stat {
uint64_t probe_maximum; /* Longest read-side probe sequence. */
uint64_t n_entries; /* Current number of keys in hash set. */
};
so probe_maximum is the longest read-side probe sequence β literally how far the worst read had to go hunting π β and n_entries is just how many keys are chilling in the hash set right now. iconic duo, fr fr π
π«Ά RETURN VALUES π«Ά
ck_ht_stat(3) has no return value. she gives you nothing back, she just fills in your struct and leaves. not me being unbothered and mysterious π
π ERRORS π
Behavior is undefined if ht has not been initialized.
like. genuinely. do not. initialize your ht first or it's giving chaos, it's giving β¨unpredictableβ¨, and not in the cute way π this is a real warning, bestie, not a drill.
π SEE ALSO π
the whole friend group, one big group chat π¬:
ck_ht_count(3)ck_ht_init(3)ck_ht_destroy(3)ck_ht_hash(3)ck_ht_hash_direct(3)ck_ht_set_spmc(3)ck_ht_put_spmc(3)ck_ht_gc(3)ck_ht_get_spmc(3)ck_ht_grow_spmc(3)ck_ht_remove_spmc(3)ck_ht_reset_spmc(3)ck_ht_reset_size_spmc(3)ck_ht_entry_empty(3)ck_ht_entry_key_set(3)ck_ht_entry_key_set_direct(3)ck_ht_entry_key(3)ck_ht_entry_key_length(3)ck_ht_entry_value(3)ck_ht_entry_set(3)ck_ht_entry_set_direct(3)ck_ht_entry_key_direct(3)ck_ht_entry_value_direct(3)ck_ht_iterator_init(3)ck_ht_next(3)
and if you want even more lore, additional information is available at http://concurrencykit.org/ π¦ go drink it up, iykyk π
and that's a wrap on CK_HT_STAT(3), babes π this page is from September 17, 2012 β yeah, she's an elder but she ate and left no crumbs β courtesy of the Concurrency Kit source. stay initialized out there, bestie πβ¨
π¦ where this page comes from
- alpine 3.24: ck-doc 0.7.2-r1 Β· BSD-2-Clause AND Apache-2.0
- debian bookworm: libck-dev 0.7.1-10 Β· BSD-2-Clause
- debian trixie: libck-dev 0.7.2-6 Β· BSD-2-Clause
- epel 10: ck-devel 0.7.2-1.el10_1 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- epel 9: ck-devel 0.7.0-10.el9 Β· BSD
- fedora 43: ck-devel 0.7.2-2.fc43 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- fedora 43: ck-devel 0.7.2-2.fc43 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- fedora 44: ck-devel 0.7.2-4.fc44 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- fedora 44: ck-devel 0.7.2-4.fc44 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- nixos 26.05: ck 0.7.2
- nixpkgs unstable: ck 0.7.2
- opensuse-leap 16.0: ck-devel 0.7.2-bp160.1.9 Β· Apache-2.0 AND BSD-2-Clause
- opensuse-leap 16.0: ck-devel 0.7.2-bp160.1.9 Β· Apache-2.0 AND BSD-2-Clause
- opensuse-leap 16.0: ck-devel 0.7.2-bp160.1.9 Β· Apache-2.0 AND BSD-2-Clause
- ubuntu jammy: libck-dev 0.7.1-6ubuntu2 Β· BSD-2-Clause
- ubuntu noble: libck-dev 0.7.1-13build1 Β· BSD-2-Clause
- ubuntu questing: libck-dev 0.7.2-5ubuntu1
- ubuntu resolute: libck-dev 0.7.2-5ubuntu2 Β· BSD-2-Clause
- ubuntu stonking: libck-dev 0.7.2-11 Β· BSD-2-Clause
- Copyright 2012-2013 Samy Al Bahra
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms