TCHMTTEST(1)

πŸ’– TCHMTTEST β€” bestie's guide to the hash database API test cases πŸ’–

okay so this is tchmttest, straight out of the Tokyo Cabinet manual (section 1, obvi) πŸ’… and she is not a normal everyday tool β€” she's a facility test utility that runs under multi-thread situations. Basically she stress-tests your hash database so you don't have to find out the hard way πŸ™ˆ


✨ NAME ✨

tchmttest β€” test cases of the hash database API πŸŽ€


🌸 DESCRIPTION 🌸

The command tchmttest is a utility for facility test under multi-thread situation. Periodt. She's used in the following format, and bestie there are a lot of little knobs to turn 🫢

Here's the vibe of the arguments:

  • path β€” specifies the path of a database file πŸ“
  • tnum β€” specifies the number of running threads 🧡
  • rnum β€” specifies the number of iterations πŸ”
  • bnum β€” specifies the number of buckets πŸͺ£
  • apow β€” specifies the power of the alignment πŸ“
  • fpow β€” specifies the power of the free block pool πŸ†“

And here are the actual modes, in all their glory ⭐

tchmttest write [-tl] [-td|-tb|-tt|-tx] [-rc num] [-xm num] [-df num] [-nl|-nb] [-as] [-rnd] path tnum rnum [bnum [apow [fpow]]]
  • Store records with keys of 8 bytes. They change as 00000001, 00000002... ✍️
tchmttest read [-rc num] [-xm num] [-df num] [-nl|-nb] [-wb] [-rnd] path tnum
  • Retrieve all records of the database above. πŸ‘€
tchmttest remove [-rc num] [-xm num] [-df num] [-nl|-nb] [-rnd] path tnum
  • Remove all records of the database above. πŸ—‘οΈ
tchmttest wicked [-tl] [-td|-tb|-tt|-tx] [-nl|-nb] [-nc] path tnum rnum
  • Perform updating operations selected at random. 🎲 (yes she's called wicked, she earned it πŸ’€)
tchmttest typical [-tl] [-td|-tb|-tt|-tx] [-rc num] [-xm num] [-df num] [-nl|-nb] [-nc] [-rr num] path tnum rnum [bnum [apow [fpow]]]
  • Perform typical operations selected at random. 🌈
tchmttest race [-tl] [-td|-tb|-tt|-tx] [-xm num] [-df num] [-nl|-nb] path tnum rnum [bnum [apow [fpow]]]
  • Perform race condition test. 🏁

πŸ’… OPTIONS πŸ’…

Options feature the following. Not a single one is skippable, bestie β€” she kept all of them 😌

  • -tl β€” enable the option HDBTLARGE. 🫧
  • -td β€” enable the option HDBTDEFLATE. πŸ—œοΈ
  • -tb β€” enable the option HDBTBZIP. 🧊
  • -tt β€” enable the option HDBTTCBS. πŸŽ›οΈ
  • -tx β€” enable the option HDBTEXCODEC. 🧬
  • -rc num β€” specify the number of cached records. πŸ—‚οΈ
  • -xm num β€” specify the size of the extra mapped memory. 🧠
  • -df num β€” specify the unit step number of auto defragmentation. 🧹
  • -nl β€” enable the option HDBNOLCK. πŸ”“
  • -nb β€” enable the option HDBLCKNB. πŸš«πŸ”’
  • -as β€” use the function tchdbputasync instead of tchdbput. ⚑
  • -rnd β€” select keys at random. 🎰
  • -wb β€” use the function tchdbget3 instead of tchdbget. πŸ”
  • -nc β€” omit the comparison test. πŸ™ˆ
  • -rr num β€” specify the ratio of reading operation by percentage. πŸ“Š
fr fr: this command returns 0 on success, another on failure. That's the whole exit-status story, no cap. πŸ’―

πŸ¦‹ SEE ALSO πŸ¦‹


and that's the whole page, bestie πŸ₯Ή go forth and thread-safely test your hash database, you absolute icon πŸ‘‘

mwah πŸ’– β€” this was the Tokyo Cabinet man page, dated 2012-08-18, filed under TCHMTTEST(1). slay ✨