{"id":14982549,"url":"https://github.com/jonmagon/kdiskmark","last_synced_at":"2025-05-14T17:09:34.100Z","repository":{"id":40597275,"uuid":"275258357","full_name":"JonMagon/KDiskMark","owner":"JonMagon","description":"A simple open-source disk benchmark tool for Linux distros","archived":false,"fork":false,"pushed_at":"2025-05-08T10:06:41.000Z","size":2457,"stargazers_count":1242,"open_issues_count":40,"forks_count":54,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-05-08T11:20:23.612Z","etag":null,"topics":["benchmarking","cpp","crystaldiskmark","dbus","disk","drive","linux","polkit","qt5","ssd"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JonMagon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-06-26T22:24:53.000Z","updated_at":"2025-05-08T10:06:45.000Z","dependencies_parsed_at":"2023-02-08T19:45:24.231Z","dependency_job_id":"d57fb84e-289f-42dc-823d-ad0a0c8e7171","html_url":"https://github.com/JonMagon/KDiskMark","commit_stats":{"total_commits":449,"total_committers":22,"mean_commits":20.40909090909091,"dds":"0.11581291759465484","last_synced_commit":"4d50732eac140c3d4b161d8c173bf28c9fe03925"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonMagon%2FKDiskMark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonMagon%2FKDiskMark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonMagon%2FKDiskMark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonMagon%2FKDiskMark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonMagon","download_url":"https://codeload.github.com/JonMagon/KDiskMark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254190395,"owners_count":22029632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmarking","cpp","crystaldiskmark","dbus","disk","drive","linux","polkit","qt5","ssd"],"created_at":"2024-09-24T14:05:37.855Z","updated_at":"2025-05-14T17:09:34.093Z","avatar_url":"https://github.com/JonMagon.png","language":"C++","readme":"# KDiskMark\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-orange.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![GitHub (pre-)release](https://img.shields.io/github/release/JonMagon/KDiskMark/all.svg)](https://github.com/JonMagon/KDiskMark/releases)\n[![Main](https://github.com/JonMagon/KDiskMark/actions/workflows/main.yml/badge.svg)](https://github.com/JonMagon/KDiskMark/actions/workflows/main.yml)\n\n**KDiskMark** is an HDD and SSD benchmark tool with a very friendly graphical user interface. **KDiskMark** with its presets and powerful GUI calls [Flexible I/O Tester](https://github.com/axboe/fio) and handles the output to provide an easy to view and interpret comprehensive benchmark result. The application is written in C++ with Qt and *doesn't have* any KDE dependencies.\n\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/JonMagon/KDiskMark/master/assets/images/kdiskmark.png\"/\u003e\n\u003c/p\u003e\n\n## Features\n* Configurable block size, queues, and threads count for each test\n* Many languages support\n* Report generation\n\n## Report Example\n```\n                        KDiskMark (3.0.0): https://github.com/JonMagon/KDiskMark\n                    Flexible I/O Tester (fio-3.30): https://github.com/axboe/fio\n--------------------------------------------------------------------------------\n* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]\n* KB = 1000 bytes, KiB = 1024 bytes\n\n[Read]\nSequential   1 MiB (Q=  8, T= 1):   508.897 MB/s [    497.0 IOPS] \u003c 13840.05 us\u003e\nSequential   1 MiB (Q=  1, T= 1):   438.278 MB/s [    428.0 IOPS] \u003c  2280.14 us\u003e\n    Random   4 KiB (Q= 32, T= 1):   354.657 MB/s [  88664.6 IOPS] \u003c   352.37 us\u003e\n    Random   4 KiB (Q=  1, T= 1):    44.166 MB/s [  11041.6 IOPS] \u003c    88.48 us\u003e\n\n[Write]\nSequential   1 MiB (Q=  8, T= 1):   460.312 MB/s [    449.5 IOPS] \u003c 15153.11 us\u003e\nSequential   1 MiB (Q=  1, T= 1):   333.085 MB/s [    325.3 IOPS] \u003c  2349.82 us\u003e\n    Random   4 KiB (Q= 32, T= 1):   315.170 MB/s [  78792.5 IOPS] \u003c   383.86 us\u003e\n    Random   4 KiB (Q=  1, T= 1):    91.040 MB/s [  22760.3 IOPS] \u003c    39.80 us\u003e\n\nProfile: Default\n   Test: 1 GiB (x5) [Measure: 5 sec / Interval: 5 sec]\n   Date: 2022-08-24 16:10:33\n     OS: opensuse-tumbleweed 20220821 [linux 5.19.2-1-default]\n```\n\n## Dependencies\n### Required\n* GCC/Clang C++17 (or later)\n* [CMake](https://cmake.org/) \u003e= 3.12\n* [Extra CMake Modules](https://github.com/KDE/extra-cmake-modules) \u003e= 5.73\n* [Qt](https://www.qt.io/) with Widgets and DBus \u003e= 5.9\n* [PolicyKit](https://gitlab.freedesktop.org/polkit/polkit) Agent\n    * `PolkitQt-1` bindings.\n* [Flexible I/O Tester](https://github.com/axboe/fio) with libaio \u003e= 3.1\n    * `libaio` development package.\n\n### External libraries\n* [SingleApplication](https://github.com/itay-grudev/SingleApplication) prevents launch of multiple application instances.\n\n## Installation\nBinaries are available on the [Releases](https://github.com/JonMagon/KDiskMark/releases/latest) page.\n\n### Install from the Flathub repository\n[\u003cimg src=\"https://flathub.org/assets/badges/flathub-badge-i-en.png\" height=\"56\"\u003e](https://flathub.org/apps/details/io.github.jonmagon.kdiskmark)\n```bash\nflatpak install flathub io.github.jonmagon.kdiskmark\n````\n\n### Install from the Snap Store\n\n\u003e [!WARNING]  \n\u003e Package is no longer maintained. It will remain available on Snap Store but will receive no updates.\n\n[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-white.svg)](https://snapcraft.io/kdiskmark)\n```bash\nsudo snap install kdiskmark\nsudo snap connect kdiskmark:removable-media # external storages\n````\n\n### Ubuntu based distros\n```bash\nsudo add-apt-repository ppa:jonmagon/kdiskmark\nsudo apt update\nsudo apt install kdiskmark\n```\n\n### Arch based distros\n\nKDiskMark is included in the official [extra](https://www.archlinux.org/packages/extra/x86_64/kdiskmark/) repo. You can install it like any other package:\n```bash\nsudo pacman -Syu kdiskmark\n```\n\nDevelopment version can be installed from AUR `kdiskmark-git` package.\n```bash\ngit clone https://aur.archlinux.org/kdiskmark-git.git\ncd kdiskmark-git\nmakepkg -si\n```\n\n### Fedora\n\nKDiskMark is included in the official [Fedora](https://src.fedoraproject.org/rpms/kdiskmark/) repo. You can install it like any other package:\n```bash\nsudo dnf install kdiskmark\n```\n\n### openSUSE Tumbleweed\n\n```bash\nsudo zypper install kdiskmark\n```\n\n## Building\n### Building a package using CPack\nYou can build **KDiskMark** by using the following commands:\n\n```bash\nmkdir build \u0026\u0026 cd build\ncmake -D CMAKE_BUILD_TYPE=Release ..\ncpack -G DEB # Or RPM, ZIP etc.\n```\n\n### Building with Qt6\nTo build **KDiskMark** with Qt6 instead of the default Qt5, use the `USE_QT6` flag during the CMake configuration step:\n\n```bash\nmkdir build \u0026\u0026 cd build\ncmake -D CMAKE_BUILD_TYPE=Release -D USE_QT6=ON ..\ncpack -G DEB # Or RPM, ZIP etc.\n```\n\n## Localization [![Crowdin](https://badges.crowdin.net/kdiskmark/localized.svg)](https://crowdin.com/project/kdiskmark)\nTo help with localization you can use [Crowdin](https://crowdin.com/project/kdiskmark) or translate files in `data/translations` with [Qt Linguist](https://doc.qt.io/Qt-5/linguist-translators.html) directly. To add a new language, copy `data/translations/kdiskmark.ts` to `data/translations/kdiskmark_\u003cISO 639-1 language code\u003e_\u003cISO 3166-1 alpha-2 language code\u003e.ts`, translate it, then add the file to the TS_FILES variable in CMakeLists.txt, and create a pull request. It is also possible to add localized Comment and Keywords sections into `data/kdiskmark.desktop` and message for PolicyKit authorization into `data/dev.jonmagon.kdiskmark.helper.policy`.\n\nLanguages currently available:\n* Chinese (Simplified)\n* Chinese (Traditional)\n* Czech\n* Dutch\n* English (default)\n* French\n* German\n* Hindi\n* Hungarian\n* Italian\n* Japanese\n* Polish\n* Portuguese (Brazilian)\n* Russian\n* Slovak\n* Spanish (Mexico)\n* Swedish\n* Turkish\n* Ukrainian\n\n## TODO\n- [ ] Text-based user interface\n- [x] Performance profiles (mix, peak, real-world)\n\n## Special Thanks\n* Artem Grinev (\u003cagrinev@manjaro.org\u003e) for his help with assembling the AppImage package.\n\nThanks to the package maintainers, translators, and all users for supporting the project.\n\n## Credits\n**Application Icon**  \nCopyright (c) https://www.iconfinder.com/baitisstudio\n\n**FlagKit**  \nhttps://github.com/madebybowtie/FlagKit\n\nIf you have any ideas, critics, suggestions or whatever you want to call it, please open an issue.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonmagon%2Fkdiskmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonmagon%2Fkdiskmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonmagon%2Fkdiskmark/lists"}