Replies: 2 comments 9 replies
-
Thanks so much for sharing, I am very excited about
If it's Git vs a million files, then I think Git could be much faster. If it's Git vs a couple of bigger files, then I think the 20% performance advantage are due to compression. From what I can tell, Git is used for snapshotting and each change becomes a commit. For reading values, When looking at the linked code, I thought that maybe one would even want to support When opening the repository, and it's from a well-known location, I'd recommend using Otherwise I think it's pretty optimal, but depending on how long parsing transaction files takes, one might consider parallelising that. That's all my thoughts on the Git part :)! |
Beta Was this translation helpful? Give feedback.
-
This is related to idea on Gitoxide Readme: Spin-Offs: Time Tracker This is real time tracker entry for Tackler-NG project: the
It's using seconds as based unit for time tracking and converting those to hours with ratio of 0.00027778. The entry is generated with separate tool. The tool is committing directly to Git repository, but it's currently Scala+JGIt. I'm planning to port it to Rust+Gix eventually. |
Beta Was this translation helpful? Give feedback.
-
Hello Gitoxide project,
I have ported a git based application from Scala to Rust, and Gix has played a major role in making that possible!
Tackler-ng is bookkeeping engine and tool with native GIT SCM support for plain text accounting. It can read transaction data as text files either from the disk, or directly from bare git repository.
Part of the test suite are tests with large amount of transactions, up to 1 million transaction (files). In these tests git repository access (by Gix) is about 20% faster than reading from plain disk!
The first priority has been to reach feature parity with the old code base so this is totally un-optimized code, but the code to access repository is here (if it's helpful to somebody):
https://github.com/e257-fi/tackler-ng/blob/0fb1ee326338cf35ea8e7994b8d228766ce4724d/tackler-core/src/parser/tackler_txns.rs#L59
Thank you for making Gitoxide (and rusty tackler possible) - it has been fun journey (starting from Gix 0.35.0)!
Beta Was this translation helpful? Give feedback.
All reactions