spdk
shellcheck-repl
Our great sponsors
spdk | shellcheck-repl | |
---|---|---|
6 | 4 | |
2,829 | 15 | |
2.3% | - | |
9.9 | 3.1 | |
4 days ago | 4 months ago | |
C | Shell | |
GNU General Public License v3.0 or later | ISC License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
spdk
-
calcuating IOPS
https://spdk.io will require you to load linux onto the server (livecd off a usb should be fine), but is essentially the most efficient way possible to do IO. Intel’s storage division used to use it to get the numbers they advertised with. When they loaded up a system with kioxia drives, Intel managed to hit 120 million IOPS in some of their testing.
- Storage performance development kit
- Win32 is the stable Linux userland ABI
- SPDK: Storage Performance Development Kit
-
ShellCheck: A static analysis tool for shell scripts
Since the project I work on (https://spdk.io) largely produces a set of executables as output, it was most natural to write the tests in bash. There's one top level bash script that kicks off the full suite of tests and thousands and thousands of lines of tests all written as bash scripts stringing together calls to these executables.
One of these tests is to run shellcheck against all of the scripts in the repo. We don't allow any modifications to scripts without shellcheck giving them the green light now. The quality of our tests has increased dramatically since this was instituted - it's a really great tool.
-
Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRipper Workstation
FYI SPDK doesn't strictly require the IOMMU be enabled. See https://spdk.io/doc/system_configuration.html There's also a new experimental interrupt mode (not for everything) finding some valuable use cases in SPDK, see https://github.com/spdk/spdk/blob/master/CHANGELOG.md and feel free to jump on the SPDK slack channel or email list for more info on either of these https://spdk.io/community/
shellcheck-repl
-
Shell Script Best Practices, from a decade of scripting things
> "Use shellcheck."
(Disclaimer: I'm one of the authors)
After falling in love with ShellCheck several years ago, with the help of another person, I made the ShellCheck REPL tool for Bash:
https://github.com/HenrikBengtsson/shellcheck-repl>
-
Bash Pitfalls
Thank you, and thanks for the suggestion. Yes, it should be possible to keep the SC2154 check. I probably just disabled it as a quick fix when first started out. I'm tracking this in https://github.com/HenrikBengtsson/shellcheck-repl/issues/15.
> You'd also want to take into account special variables like $RANDOM and $HOSTNAME, but that's pretty trivial.
It seems like ShellCheck is already aware of these special Bash variable, e.g. 'echo $RANDOM' will not trigger SC2154 (or even SC2086 that otherwise asks you to quote variables).
-
ShellCheck: A static analysis tool for shell scripts
shellcheck-repl: Validation of Shell Commands Before Evaluation
https://github.com/HenrikBengtsson/shellcheck-repl
This tool validates your commands at the Bash prompt using ShellCheck and refuses to evaluate them if there's a mistake. It ignores a set of rules that doesn't play well with oneliners.
(Disclaimer: I'm one of the authors)
What are some alternatives?
KVell - KVell: the Design and Implementation of a Fast Persistent Key-Value Store
shellharden - The corrective bash syntax highlighter
bats-core - Bash Automated Testing System
chia-blockchain - Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet)
pure-bash-bible - 📖 A collection of pure bash alternatives to external processes.
static-analysis - ⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.
ShellCheck - ShellCheck, a static analysis tool for shell scripts
hadolint - Dockerfile linter, validate inline bash, written in Haskell
isort - A Python utility / library to sort imports.
shunit2 - shUnit2 is a xUnit based unit test framework for Bourne based shell scripts.
dmenu-scripts - Serious fun with dmenu