You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: cargo-features.md
+1-47
Original file line number
Diff line number
Diff line change
@@ -62,53 +62,7 @@ Documented in [its documentation](https://docs.rs/git-actor).
62
62
63
63
### git-features
64
64
65
-
A crate to help controlling which capabilities are available from the top-level crate that uses `gitoxide-core` or any other
66
-
`gitoxide` crate that uses `git-features`.
67
-
All feature toggles are additive.
68
-
69
-
***progress**
70
-
* Provide traits and utilities for providing progress information. These can then be rendered using facilities provided by
71
-
the `prodash` crate.
72
-
***parallel**
73
-
* Use scoped threads and channels to parallelize common workloads on multiple objects. If enabled, it is used everywhere
74
-
where it makes sense.
75
-
* As caches are likely to be used and instantiated per thread, more memory will be used on top of the costs for threads.
76
-
* The `threading` module will contain thread-safe primitives for shared ownership and mutation, otherwise these will be their single threaded counterparts.
77
-
* This way, single-threaded applications don't have to pay for threaded primitives.
78
-
***crc32**
79
-
* provide a proven and fast `crc32` implementation.
80
-
***io-pipe**
81
-
* an in-memory unidirectional pipe using `bytes` as efficient transfer mechanism
82
-
***zlib**
83
-
* Enable the usage of zlib related utilities to compress or decompress data.
84
-
* By default it uses a pure rust implementation which is slower than the **zlib-ng-compat** version, but might be relevant if you prefer a pure-rust build
85
-
and reduced performance is acceptable. Note that a competitive Zlib implementation is critical to `gitoxide's` performance.
86
-
* Additional backends are supported, each of which overriding the default Rust backend.
87
-
*_mutually-exclusive_
88
-
***zlib-ng-compat**
89
-
* Use a C-based backend which can compress and decompress significantly faster.
90
-
***cloudflare-zlib**
91
-
* Another incarnation of a faster-than-normal zlib backend.
92
-
***_zlib-rust-backend_**
93
-
* available for completeness even though it's the default - it may be chosen for more maintainable feature flags.
94
-
95
-
***walkdir**
96
-
* Makes facilities of the `walkdir` crate partially available.
97
-
* In conjunction with the **parallel** feature, directory walking will be parallel instead behind a compatible interface.
98
-
*_mutually-exclusive_
99
-
***fast-sha1**
100
-
* a multi-crate implementation that can use hardware acceleration, thus bearing the potential for up to 2Gb/s throughput on
101
-
CPUs that support it, like AMD Ryzen or Intel Core i3, as well as Apple Silicon like M1.
102
-
* Takes precedence over `rustsha1` if both are specified.
103
-
* A fast SHA1 implementation is critical to `gitoxide's` performance
104
-
***rustsha1**
105
-
* A standard and well performing pure Rust implementation of Sha1. Will significantly slow down various git operations.
106
-
107
-
***cache-efficiency-debug**
108
-
* Caches implement this by default, which costs nothing unless this feature is enabled
109
-
* Count cache hits and misses and print that debug information on drop
110
-
***time**
111
-
* Make the `time` module available with access to the local time as configured by the system.
65
+
Documented in [its documentation](https://docs.rs/git-features).
Copy file name to clipboardExpand all lines: git-features/Cargo.toml
+45-3
Original file line number
Diff line number
Diff line change
@@ -12,16 +12,55 @@ doctest = false
12
12
test = false
13
13
14
14
[features]
15
+
15
16
default = []
17
+
## Provide traits and utilities for providing progress information. These can then be rendered
18
+
## using facilities of the `prodash` crate.
16
19
progress = ["prodash"]
20
+
21
+
## Use scoped threads and channels to parallelize common workloads on multiple objects. If enabled, it is used everywhere
22
+
## where it makes sense.
23
+
## As caches are likely to be used and instantiated per thread, more memory will be used on top of the costs for threads.
24
+
## The `threading` module will contain thread-safe primitives for shared ownership and mutation, otherwise these will be their single threaded counterparts.
25
+
## This way, single-threaded applications don't have to pay for threaded primitives.
#* an in-memory unidirectional pipe using `bytes` as efficient transfer mechanism.
20
28
io-pipe = ["bytes"]
29
+
## provide a proven and fast `crc32` implementation.
21
30
crc32 = ["crc32fast"]
31
+
32
+
#! ### Mutually Exclusive ZLIB
33
+
34
+
## Enable the usage of zlib related utilities to compress or decompress data.
35
+
## By default it uses a pure rust implementation which is slower than the **zlib-ng-compat** version, but might be relevant if you prefer a pure-rust build
36
+
## and reduced performance is acceptable. Note that a competitive Zlib implementation is critical to `gitoxide's` object database performance.
37
+
## Additional backends are supported, each of which overriding the default Rust backend.
0 commit comments