Skip to content
This repository was archived by the owner on May 20, 2024. It is now read-only.

Commit 8cc1153

Browse files
committed
Update simd-json
Signed-off-by: Heinz N. Gies <[email protected]>
1 parent 342987f commit 8cc1153

File tree

3 files changed

+13
-15
lines changed

3 files changed

+13
-15
lines changed

Cargo.toml

+3-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ jemallocator = "0.5"
1212
rustc-serialize = { version = "0.3", optional = true }
1313
serde = { version = "1.0", features = ["derive"], optional = true }
1414
serde_json = { version = "1.0", optional = true }
15-
simd-json = { version = "0.7", optional = true }
16-
simd-json-derive = { version = "0.7", optional = true }
15+
time = "0.3"
16+
simd-json = { version = "0.12", optional = true }
17+
simd-json-derive = { version = "0.12", optional = true }
1718

1819
[features]
1920
default = ["performance", "all-libs", "all-files"]

src/empty.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ impl<'input> simd_json_derive::Deserialize<'input> for Array {
6161
where
6262
Self: std::marker::Sized + 'input,
6363
{
64-
if let Some(simd_json::Node::Array(0, _)) = tape.next() {
64+
if let Some(simd_json::Node::Array { len: 0, .. }) = tape.next() {
6565
Ok(Self)
6666
} else {
6767
Err(simd_json::Error::generic(

src/main.rs

+9-12
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,7 @@ macro_rules! bench_file_simd_json {
133133
} => {
134134

135135
let num_trials = num_trials().unwrap_or(256);
136-
let mut string_buffer = Vec::with_capacity(4096);
137-
let mut input_buffer = simd_json::AlignedBuf::with_capacity(4096);
136+
let mut buffers = simd_json::Buffers::new(4096);
138137

139138
print!("{:22}", $path);
140139
io::stdout().flush().unwrap();
@@ -153,7 +152,7 @@ macro_rules! bench_file_simd_json {
153152
for _ in 0..num_trials {
154153
data.as_mut_slice().clone_from_slice(contents.as_slice());
155154
let mut timer = benchmark.start();
156-
let _parsed = simd_json_parse_dom(&mut data, &mut input_buffer, &mut string_buffer).unwrap();
155+
let _parsed = simd_json_parse_dom(&mut data, &mut buffers).unwrap();
157156
timer.stop();
158157
}
159158
let dur = benchmark.min_elapsed();
@@ -167,7 +166,7 @@ macro_rules! bench_file_simd_json {
167166
{
168167
let len = contents.len();
169168
let mut data = contents.clone();
170-
let dom = simd_json_parse_dom(&mut data, &mut input_buffer, &mut string_buffer).unwrap();
169+
let dom = simd_json_parse_dom(&mut data, &mut buffers).unwrap();
171170
let dur = timer::bench_with_buf(num_trials, len, |out| {
172171
simd_json::Writable::write(&dom, out).unwrap()
173172
});
@@ -187,7 +186,7 @@ macro_rules! bench_file_simd_json {
187186
for _ in 0..num_trials {
188187
data.as_mut_slice().clone_from_slice(contents.as_slice());
189188
let mut timer = benchmark.start();
190-
let _parsed: $structure = simd_json_parse_struct(&mut data, &mut input_buffer, &mut string_buffer).unwrap();
189+
let _parsed: $structure = simd_json_parse_struct(&mut data, &mut buffers).unwrap();
191190
timer.stop();
192191
}
193192
let dur = benchmark.min_elapsed();
@@ -200,7 +199,7 @@ macro_rules! bench_file_simd_json {
200199
use simd_json_derive::Serialize;
201200
let len = contents.len();
202201
let mut data = contents.clone();
203-
let parsed: $structure = simd_json_parse_struct(&mut data, &mut input_buffer, &mut string_buffer).unwrap();
202+
let parsed: $structure = simd_json_parse_struct(&mut data, &mut buffers).unwrap();
204203
let dur = timer::bench_with_buf(num_trials, len, |out| {
205204
parsed.json_write(out).unwrap();
206205
});
@@ -313,10 +312,9 @@ where
313312
))]
314313
fn simd_json_parse_dom<'input>(
315314
bytes: &'input mut [u8],
316-
input_buffer: &mut simd_json::AlignedBuf,
317-
string_buffer: &mut [u8],
315+
buffers: &mut simd_json::Buffers,
318316
) -> simd_json::Result<simd_json::BorrowedValue<'input>> {
319-
simd_json::to_borrowed_value_with_buffers(bytes, input_buffer, string_buffer)
317+
simd_json::to_borrowed_value_with_buffers(bytes, buffers)
320318
}
321319

322320
// #[cfg(all(
@@ -336,11 +334,10 @@ fn simd_json_parse_dom<'input>(
336334
))]
337335
fn simd_json_parse_struct<'de, T>(
338336
bytes: &'de mut [u8],
339-
input_buffer: &mut simd_json::AlignedBuf,
340-
string_buffer: &mut [u8],
337+
buffers: &mut simd_json::Buffers,
341338
) -> simd_json::Result<T>
342339
where
343340
T: simd_json_derive::Deserialize<'de> + 'de,
344341
{
345-
T::from_slice_with_buffers(bytes, input_buffer, string_buffer)
342+
T::from_slice_with_buffers(bytes, buffers)
346343
}

0 commit comments

Comments
 (0)