about summary refs log tree commit diff
path: root/compiler/rustc_data_structures/src/profiling
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-04-18 06:44:46 +0200
committerGitHub <noreply@github.com>2023-04-18 06:44:46 +0200
commit41ae7fcf9be195d062ba2f9fdf744fdf58ac79db (patch)
treebc7805014b7129978e92f83763a53d6fac5973b5 /compiler/rustc_data_structures/src/profiling
parentafea84f99c8c9a7bb7c7afb22bc1d5aceceb1a8d (diff)
parent7859a8e9a55725bd19636baa8d2a1a99b76689bf (diff)
downloadrust-41ae7fcf9be195d062ba2f9fdf744fdf58ac79db.tar.gz
rust-41ae7fcf9be195d062ba2f9fdf744fdf58ac79db.zip
Rollup merge of #110409 - Nilstrieb:some-manual-javascript-object-notationing, r=fee1-dead
Don't use `serde_json` to serialize a simple JSON object

This avoids `rustc_data_structures` depending on `serde_json` which allows it to be compiled much earlier, unlocking most of rustc.

This used to not matter, but after #110407 we're not blocked on fluent anymore, which means that it's now a blocking edge.
![image](https://user-images.githubusercontent.com/48135649/232313178-e0150420-3020-4eb6-98d3-fe5294a8f947.png)

This saves a few more seconds.

cc ````@Zoxc```` who added it recently
Diffstat (limited to 'compiler/rustc_data_structures/src/profiling')
-rw-r--r--compiler/rustc_data_structures/src/profiling/tests.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/compiler/rustc_data_structures/src/profiling/tests.rs b/compiler/rustc_data_structures/src/profiling/tests.rs
new file mode 100644
index 00000000000..2b09de085da
--- /dev/null
+++ b/compiler/rustc_data_structures/src/profiling/tests.rs
@@ -0,0 +1,19 @@
+use super::JsonTimePassesEntry;
+
+#[test]
+fn with_rss() {
+    let entry =
+        JsonTimePassesEntry { pass: "typeck", time: 56.1, start_rss: Some(10), end_rss: Some(20) };
+
+    assert_eq!(entry.to_string(), r#"{"pass":"typeck","time":56.1,"rss_start":10,"rss_end":20}"#)
+}
+
+#[test]
+fn no_rss() {
+    let entry = JsonTimePassesEntry { pass: "typeck", time: 56.1, start_rss: None, end_rss: None };
+
+    assert_eq!(
+        entry.to_string(),
+        r#"{"pass":"typeck","time":56.1,"rss_start":null,"rss_end":null}"#
+    )
+}