diff options
Diffstat (limited to 'crates/ra_prof')
-rw-r--r-- | crates/ra_prof/Cargo.toml | 36 | ||||
-rw-r--r-- | crates/ra_prof/src/lib.rs | 2 | ||||
-rw-r--r-- | crates/ra_prof/src/memory_usage.rs | 4 |
3 files changed, 22 insertions, 20 deletions
diff --git a/crates/ra_prof/Cargo.toml b/crates/ra_prof/Cargo.toml index 7db4498c3..bb241258c 100644 --- a/crates/ra_prof/Cargo.toml +++ b/crates/ra_prof/Cargo.toml | |||
@@ -1,17 +1,19 @@ | |||
1 | [package] | 1 | [package] |
2 | edition = "2018" | 2 | edition = "2018" |
3 | name = "ra_prof" | 3 | name = "ra_prof" |
4 | version = "0.1.0" | 4 | version = "0.1.0" |
5 | authors = ["rust-analyzer developers"] | 5 | authors = ["rust-analyzer developers"] |
6 | publish = false | 6 | publish = false |
7 | 7 | ||
8 | [dependencies] | 8 | [dependencies] |
9 | once_cell = "1.0.1" | 9 | once_cell = "1.0.1" |
10 | itertools = "0.8.0" | 10 | itertools = "0.8.0" |
11 | backtrace = "0.3.28" | 11 | backtrace = "0.3.28" |
12 | jemallocator = { version = "0.3.2", optional = true } | 12 | |
13 | jemalloc-ctl = { version = "0.3.2", optional = true } | 13 | [target.'cfg(not(target_env = "msvc"))'.dependencies] |
14 | 14 | jemallocator = { version = "0.3.2", optional = true } | |
15 | [features] | 15 | jemalloc-ctl = { version = "0.3.2", optional = true } |
16 | jemalloc = [ "jemallocator", "jemalloc-ctl" ] | 16 | |
17 | cpu_profiler = [] | 17 | [features] |
18 | jemalloc = [ "jemallocator", "jemalloc-ctl" ] | ||
19 | cpu_profiler = [] | ||
diff --git a/crates/ra_prof/src/lib.rs b/crates/ra_prof/src/lib.rs index e5385f51b..845b2221c 100644 --- a/crates/ra_prof/src/lib.rs +++ b/crates/ra_prof/src/lib.rs | |||
@@ -24,7 +24,7 @@ pub use crate::memory_usage::{Bytes, MemoryUsage}; | |||
24 | 24 | ||
25 | // We use jemalloc mainly to get heap usage statistics, actual performance | 25 | // We use jemalloc mainly to get heap usage statistics, actual performance |
26 | // difference is not measures. | 26 | // difference is not measures. |
27 | #[cfg(feature = "jemalloc")] | 27 | #[cfg(all(feature = "jemalloc", not(target_env = "msvc")))] |
28 | #[global_allocator] | 28 | #[global_allocator] |
29 | static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc; | 29 | static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc; |
30 | 30 | ||
diff --git a/crates/ra_prof/src/memory_usage.rs b/crates/ra_prof/src/memory_usage.rs index ad005ea14..9768f656c 100644 --- a/crates/ra_prof/src/memory_usage.rs +++ b/crates/ra_prof/src/memory_usage.rs | |||
@@ -8,7 +8,7 @@ pub struct MemoryUsage { | |||
8 | } | 8 | } |
9 | 9 | ||
10 | impl MemoryUsage { | 10 | impl MemoryUsage { |
11 | #[cfg(feature = "jemalloc")] | 11 | #[cfg(all(feature = "jemalloc", not(target_env = "msvc")))] |
12 | pub fn current() -> MemoryUsage { | 12 | pub fn current() -> MemoryUsage { |
13 | jemalloc_ctl::epoch::advance().unwrap(); | 13 | jemalloc_ctl::epoch::advance().unwrap(); |
14 | MemoryUsage { | 14 | MemoryUsage { |
@@ -17,7 +17,7 @@ impl MemoryUsage { | |||
17 | } | 17 | } |
18 | } | 18 | } |
19 | 19 | ||
20 | #[cfg(not(feature = "jemalloc"))] | 20 | #[cfg(any(not(feature = "jemalloc"), target_env = "msvc"))] |
21 | pub fn current() -> MemoryUsage { | 21 | pub fn current() -> MemoryUsage { |
22 | MemoryUsage { allocated: Bytes(0), resident: Bytes(0) } | 22 | MemoryUsage { allocated: Bytes(0), resident: Bytes(0) } |
23 | } | 23 | } |