KCUTILTEST(1)
β¨ KCUTILTEST β¨ (that's section 1 of the manual, bestie, from the Kyoto Cabinet collection π)
π NAME π
kcutiltest β the command line interface to test the utility functions, aka the little stress-test goblin that checks if your utility functions are actually slaying or just pretending π¦
πΈ DESCRIPTION πΈ
Okay so listen. The command kcutiltest is a utility for facility test and performance test of the utility functions. It's giving "gym membership for your code" β it runs your stuff over and over until it either thrives or cries π
This command is used in the following format. rnum specifies the number of iterations. path specifies the path of a file. Yes, rnum is literally how many times we're gonna do the thing. No cap.
kcutiltest mutex [-th num] [-iv num] rnum
kcutiltest cond [-th num] [-iv num] rnum
kcutiltest para [-th num] [-iv num] rnum
kcutiltest file [-th num] [-rnd] [-msiz num] path rnum
kcutiltest lhmap [-rnd] [-bnum num] rnum
kcutiltest thmap [-rnd] [-bnum num] rnum
kcutiltest talist [-rnd] rnum
kcutiltest misc rnum
And here's what each one is actually about, no gatekeeping π«Ά:
kcutiltest mutex [-th num] [-iv num] rnumβ performs test of lock primitives. Lock girlies, assemble πkcutiltest cond [-th num] [-iv num] rnumβ performs test of condition variable primitives. Waiting room behavior, but make it β¨intentionalβ¨kcutiltest para [-th num] [-iv num] rnumβ performs test of parallel processing. Everything everywhere all at once πkcutiltest file [-th num] [-rnd] [-msiz num] path rnumβ performs test of the file system abstraction. It needs apath, it's not optional, don't forget her πkcutiltest lhmap [-rnd] [-bnum num] rnumβ performs test of doubly-linked hash map. Two links? Iconic.kcutiltest thmap [-rnd] [-bnum num] rnumβ performs test of memory-saving hash map. Frugal queen πkcutiltest talist [-rnd] rnumβ performs test of memory-saving array list. Also on a budget, also thriving πkcutiltest misc rnumβ performs test of miscellaneous mechanisms. The "random stuff drawer" of tests, and we respect it π
π OPTIONS π
Options feature the following. (Yes, all of them. We are not skipping a single one, that would be so rude.)
-th numβ specifies the number of worker threads. More threads = more chaos = more fun, fr fr.-iv numβ specifies the interval between iterations. A lil breather between reps π§-rndβ performs random test. Chaos mode: activated π₯-msiz numβ specifies the size of the memory-mapped region. Big region energy.-bnum numβ specifies the number of buckets of the hash table. Buckets. Like a beach. But for hashes ποΈ
β EXIT STATUS (kinda, it's in the description but it matters) β
This command returns 0 on success, another on failure. So like, 0 is the slay, anything else is the π. Check your exit codes, bestie, they're telling you a story.
π SEE ALSO π
kcutilmgr(1)β go read it, it's right there, it's the sister doc π«Ά
Okay that's the whole page!! Written up on 2012-05-24, from the Kyoto Cabinet era, section 1 of the manual. Mwah π stay testing, stay iconic β¨π
π¦ where this page comes from
- alpine 3.24: kyotocabinet-doc 1.2.80-r1 Β· GPL-3.0-or-later
- arch rolling: kyotocabinet 1.2.80-2 Β· GPL-3.0-or-later
- debian bookworm: kyotocabinet-utils 1.2.79-2+b1
- debian trixie: kyotocabinet-utils 1.2.80-2+b1
- fedora 43: kyotocabinet 1.2.80-8.fc43 Β· GPL-3.0-only
- fedora 44: kyotocabinet 1.2.80-9.fc44 Β· GPL-3.0-only
- nixos 26.05: kyotocabinet 1.2.80
- nixpkgs unstable: kyotocabinet 1.2.80
- opensuse-leap 16.0: kyotocabinet 1.2.80-160000.2.2 Β· SUSE-GPL-3.0-with-FLOSS-exception
- opensuse-leap 16.0: kyotocabinet 1.2.80-160000.2.2 Β· SUSE-GPL-3.0-with-FLOSS-exception
- opensuse-leap 16.0: kyotocabinet 1.2.80-160000.2.2 Β· SUSE-GPL-3.0-with-FLOSS-exception
- opensuse-leap 16.0: kyotocabinet 1.2.80-160000.2.2 Β· SUSE-GPL-3.0-with-FLOSS-exception
- ubuntu jammy: kyotocabinet-utils 1.2.79-1
- ubuntu noble: kyotocabinet-utils 1.2.80-1build1
- ubuntu questing: kyotocabinet-utils 1.2.80-2
- ubuntu resolute: kyotocabinet-utils 1.2.80-2build1
- ubuntu stonking: kyotocabinet-utils 1.2.80-2build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms