-
Heimdall 3.0 Stable
released this
2026-07-02 01:51:01 +02:00 | 0 commits to main since this releaseBifrost v3.0 -- Stable Release
The first stable release of Bifrost, marking the completion of all major planned features.
New Features
- Temporal Scheduler (TS): A brand-new scheduler powered by linear regression for time predictions and the LPT (Longest Processing Time) algorithm for task scheduling. This gives Bifrost significantly smarter, data-driven control over copy job sequencing.
- Redesigned menu: The CLI menu has been redesigned for clarity and ease of use, now with section headers that group related commands together — making it much easier to navigate.
Optimizations
- ~10% reduction in memory usage: Internal memory handling improvements bring a further ~10% decrease in memory consumption on top of the
tikv-jemallocatorgains introduced in the previous release. - Updated allocator features:
tikv-jemallocatornow ships withprofilingandbackground_threadsenabled by default, unlocking better runtime profiling support and background memory reclamation. - Dependency upgrades: All packages have been updated to their latest available versions, with minor codebase adjustments where API changes required it.
Code Quality
- Various functions and variables have been renamed for improved readability and easier debugging.
- New
--show-error-countflag to show the amount of errors encountered, if any, while unwrapping copy futures.
PS. As always, new flags were introduced — please regenerate your shell completions and remember to remove the old ones from your
.bashrc.
Checksums
Verify the integrity of your download before running.
Note: Please rename file such as bifrost_arm and bifrost_arm.exe to bifrost or bifrost.exe before continuing.
bifrost (Linux)5a28d1baae503d3c7635bac855a51620fbeaa40b000926ae3591c92724996651bifrost_arm (Linux ARM)8720a7ab6aa7f3fdf55de072406c7f1b489523a478bca6ef2e8330d315fd9d5cbifrost.exe (Windows)e592c43ef02d387198081d90de9ce295fda0ee76a86e5f7887ccebdbc4ef8217bifrost_arm.exe (Windows ARM)469f41a1b2aa1107dd577fe08857712fa3001e1b49030fa3607fa96155a20b86Linux:
sha256sum bifrostWindows:
Get-FileHash bifrost.exe -Algorithm SHA256Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Bifrost 1.2.16 Pre-release
released this
2026-05-28 13:56:45 +02:00 | 79 commits to main since this releaseBifrost Pre-Release
This is a pre-release of Bifrost packed with new features!
New Features
- Preserve mode: On Unix systems, allows users to preserve ownership of directories.
- New allocator: The global allocator for Unix systems is now
tikv_jemallocator, which offers significantly better allocation efficiency thanks to its optimized size-class system (smaller buckets mean less wasted memory). Basic testing shows roughly a 10% improvement in memory usage over the previous version. - Multithreaded path traversal: A new traversal module built with Rayon deploys parallel walkers to discover files up to 5x faster than the sequential implementation.
- Analysis mode: Analyse the source directory and print basic discovered statistics, including traversal time. Future versions may suggest scheduler usage.
Optimizations
- Removed an unnecessary conversion to
Vec<>for sorting by switching toBTreeMap(effectively a sortedHashMap). - Added a macro for constructing file data. Since it's evaluated at compile time, there's no performance cost—and it greatly improves readability while enabling cleaner file operations.
- Objects inside the
FileDatastruct are no longer cloned on access. Existing getters and setters now returnOption<&T>for better performance.
New architectures
- Linux on ARM
- Windows on ARM
PS. As always, new flags were introduced, so please regenerate your completions—and don't forget to remove the old ones from your
.bashrc.
Checksums
Verify the integrity of your download before running.
bifrost (Linux)e5c7ebceca9da3fbb4194e87be928e336339627d50e8dc271c43efd9d8245eeabifrost_arm (Linux ARM)17aab84884ef994a101429f5ec9c60dc764d69ea6428b2bf6d9583e3591907cdbifrost.exe (Windows)a2128c01da5bfdad9698154489de662a8a2e7f93b19e24e3ca566d4a7008cb4ebifrost_arm.exe (Windows ARM)2ed27a7ebb6f652a9b3ce7b6fb6a4c6a33a8ab0b48deb62f969ab79604e4c68fLinux:
sha256sum bifrostWindows:
Get-FileHash bifrost.exe -Algorithm SHA256Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
bifrost_1.2.12 Stable
released this
2026-05-18 01:31:49 +02:00 | 109 commits to main since this releaseBifrost new release! -- Performance & Architecture Improvements
-
Scheduler now powered by Rayon — Schedulers have been migrated from Tokio to the Rayon framework. Since schedulers are computation-heavy and perform no I/O, using Tokio's lightweight thread pool introduced unnecessary overhead and synchronization costs. Rayon is purpose-built for this kind of work solving a lot of problems and showing some nice performance increase.
-
Capped concurrency for multithreaded copying — Multithreaded copy operations can now be configured with a maximum group limit, giving control over core utilization and reducing memory pressure by limiting the number of tasks queued in Tokio's task queue at any given time.
-
Path pre-processor design finalized — The path pre-processor architecture is now locked in. More to come here soon --> Cross-platform path matching :).
-
K-means upgraded to K-means++ initialization — The K-means implementation has been rewritten to use K-means++ initialization, improving clustering quality and reducing the number of iterations needed to converge.
General Improvements
- Reduced resource re-allocation across the board
- Runtime optimizations through improved iterator usage
- Code formatting and readability improvements
Note: If you generated
--completionsfor the program please re-generate them as this release introduces some new parameters. PS. Remember to remove the old ones from.bashrc:).
Checksums
Verify the integrity of your download before running.
bifrost (Linux)ee800ff0a7186819128845938ff624b1ca5beead55355882f231edaaaf610543bifrost.exe (Windows)2eb8d7e072d1a1d3d71ed2dd7a6e630072400c59e3b3fbc9bc9e951fb75f84a0Linux:
sha256sum bifrostWindows:
Get-FileHash bifrost.exe -Algorithm SHA256Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
Bifrost 1.2.9 Stable
released this
2026-04-04 18:27:31 +02:00 | 120 commits to main since this releaseSo, this release brings some new features and improvements. The primary focus of this release is the new archive mode! This flag allows the user to synchronize two directories, so just copy the new and modified files.
For now there is a small drawback, but the fix is in the pipeline, the names of both folders need to be the same:
/any/dir/app:/any/dir2/app.In other things:
- directory pre-processor got an update in form of a major bug-fix when processing multiple
go backs (..)in a row. - most of the code was revised and optimized in more of a functional way.
Note: Please regenerate completions to include the new --archive-mode flag.
Checksums
Verify the integrity of your download before running.
bifrost (Linux)c2ced331c73b70bb78a670b755ee7788534cd806de8bdc847de034810a824a56bifrost.exe (Windows)12b7f272de935008567bb2205f8f1e7ab82f9f49678d9f9d4dfdb5d376455605Linux:
sha256sum bifrostWindows:
Get-FileHash bifrost.exe -Algorithm SHA256Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- directory pre-processor got an update in form of a major bug-fix when processing multiple
-
Bifrost 1.2.6 Stable
released this
2026-03-30 00:14:47 +02:00 | 159 commits to main since this releaseThis is the first release of the program under the new name! It includes some optimizations and improvements, but nothing major.
Checksums
Verify the integrity of your download before running.
bifrost (Linux)10eb21d88ba404daca6a8bd45d84a3319118cfee663b1b50f8bd0cbeb1ff9688bifrost.exe (Windows)7a463d6a684558dbce0723743a193cfea858c22472e532f264857e6dc683f809Linux:
sha256sum bifrostWindows:
Get-FileHash bifrost.exe -Algorithm SHA256Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
Heimdall 1.2.5 Stable
released this
2026-03-22 01:24:59 +01:00 | 184 commits to main since this releaseThis release is minor, but with some improvements nonetheless. Most notably, the system now bypasses scheduling and defaults to sequential copying for small directories, avoiding unnecessary overhead when synchronization isn’t worthwhile. This bypass behaviour is configurable via a program parameter. A bug in
extract_end_pathsthat caused a removal of valid directories, that were considered empty, due to not having any subdirectories, was fixed by introducing a reference count of files that point to that directory. This should also resolve theghost filesissue in the non-empty strategy.You could actually say that this a first, fully working release, which behaves as intended with all the possible optimizations :).
Checksums
Verify the integrity of your download before running.
heimdall (Linux)593bbb4ce5f9df25ce39fbcb4e5519ee332f0ae48d2cfcc2d55bd478005160d0heimdall.exe (Windows)3d1c12b5f9368b8476fd5c0bd398966fcd2f7c22424d81471ef2a6799ed122baLinux:
sha256sum heimdallWindows:
Get-FileHash heimdall.exe -Algorithm SHA256Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
Heimdall 1.2.2 Stable
released this
2026-03-21 01:58:30 +01:00 | 202 commits to main since this releaseThe concurrency system has been completely overhauled, again (I know...I know), for better resilience and performance, with proper group chunking and dynamic CFS group sizing based on your CPU count. I also squashed a nasty K-means clustering bug that was causing the scheduler to spit out empty schedules due to unnecessary centroid reinitialization. Logging has got a lot of improvements too — it's much more detailed now and can be saved to a file for later analysis. Additionally, a new path preprocessor module handles absolute path resolution for more robust validity checking. And last but not least, Heimdall now natively builds for x86-64-v3, so you can take full advantage of modern CPU instruction sets.
Checksums
Verify the integrity of your download before running.
heimdall (Linux)e97f4fb277067926783adb8115647b341d1b639ef296bfd4bb5641286125e6acheimdall.exe (Windows)ed413166b601769bd296b3c140cebca4997067cfe095a6c79ad1b5989db4949fLinux:
sha256sum heimdallWindows:
Get-FileHash heimdall.exe -Algorithm SHA256Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
Heimdall 1.1.5 Stable
released this
2026-03-17 13:57:34 +01:00 | 233 commits to main since this releaseThis major release features a full revamp of concurrency handling, with the program now fully parallelized (to the best of my ability 😅) for optimal performance. Alongside significant bug fixes, complexity has been reduced by embracing functional programming principles, and memory usage is optimized by minimizing unnecessary allocations. Also, the code clean-up enhances readability and maintainability, resulting in a more efficient and robust codebase, hopefully.
Note: This version of the program still requires absolute paths to both source and destination. I have not got around to fixing the parser yet, but next release for sure :).
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
Heimdall 1.1 Pre-release
released this
2026-03-15 14:52:31 +01:00 | 246 commits to main since this releaseI’ve removed the blocking semaphores to reduce contention and replaced
tokio::spawnwithtokio::task::spawn_blockingfor CPU-bound operations, which helps prevent thread starvation and improves performance. The CFS scheduler and copying process have also been further optimized. The scheduler is now more stable and efficient, and I’m planning more customization options for the next update.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
CFS 0.1.0 Stable
released this
2025-12-07 16:21:11 +01:00 | 274 commits to main since this releaseImproved stability with added safety of Semaphore for issuing tasks while scheduling. Added
futurecrate for better handling of Futures generated by Tokio, which allows for concurrent waiting for Futures with a safety of internal buffering which limits the max number of Futures awaited concurrently. Also, this release contains code clean-up and logic improvements, which should limit the number of unnecessary allocations and checks.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)