mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-10-31 16:06:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1008 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1008 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion};
 | |
| use flatten_serde_json::flatten;
 | |
| use serde_json::json;
 | |
| 
 | |
| pub fn flatten_simple(c: &mut Criterion) {
 | |
|     let mut input = json!({
 | |
|       "a": {
 | |
|         "b": "c",
 | |
|         "d": "e",
 | |
|         "f": "g"
 | |
|       }
 | |
|     });
 | |
|     let object = input.as_object_mut().unwrap();
 | |
| 
 | |
|     c.bench_with_input(BenchmarkId::new("flatten", "simple"), &object, |b, input| {
 | |
|         b.iter(|| flatten(input))
 | |
|     });
 | |
| }
 | |
| 
 | |
| pub fn flatten_complex(c: &mut Criterion) {
 | |
|     let mut input = json!({
 | |
|       "a": [
 | |
|         "b",
 | |
|         ["c", "d"],
 | |
|         { "e": ["f", "g"] },
 | |
|         [
 | |
|             { "h": "i" },
 | |
|             { "e": ["j", { "z": "y" }] },
 | |
|         ],
 | |
|         ["l"],
 | |
|         "m",
 | |
|       ]
 | |
|     });
 | |
|     let object = input.as_object_mut().unwrap();
 | |
| 
 | |
|     c.bench_with_input(BenchmarkId::new("flatten", "complex"), &object, |b, input| {
 | |
|         b.iter(|| flatten(input))
 | |
|     });
 | |
| }
 | |
| 
 | |
| criterion_group!(benches, flatten_simple, flatten_complex);
 | |
| criterion_main!(benches);
 |