Skip to content

Support simd_json as an optional alternative to serde_json #934

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 44 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
f522ea8
Support simd_json as an optional alternative to serde_json
Oct 18, 2024
0807675
Start hacking stuff into mutable slices
Oct 19, 2024
cba3fdf
Hack tests to use mutable strings/slices
Oct 19, 2024
6125836
So, now that simd-json Values can be Eq ...
Oct 22, 2024
f20d03c
Fix "missing method" issues (expose and use the right simd_json trait)
Oct 22, 2024
3c696e4
Adaptation to simd json parsing
Oct 22, 2024
f95180b
Amazingly, we appear to have resolved all compile issues outside of l…
Oct 22, 2024
12cb88f
Explanations
Oct 22, 2024
6f8ba9e
Revert to live simd_json crate - supports Eq values now
Oct 22, 2024
79c9d6e
Complete replacement of serde_json reference by aws_lambda_json_impl …
Oct 23, 2024
0940f12
cleanup
Oct 23, 2024
5ec7dba
fix dependencies
Oct 23, 2024
8344c12
Fix simd-related imports
Oct 23, 2024
f2b146e
Don't rename from_slice
Oct 23, 2024
d24f7bd
Generalize tests
Oct 23, 2024
137a210
Don't rename from_slice
Oct 23, 2024
f38e250
A better approach to intended use
Oct 23, 2024
3c1d23e
One error left in this round - missing trait on
Oct 23, 2024
334246e
Fix need for 'from_reader' on deserializer
Oct 23, 2024
e0317b2
We're down to the core of the issue
Oct 24, 2024
fbe4802
All compile errors "fixed" ... but SERIOUSLY unsafe at the moment
Oct 24, 2024
1893e6a
Explain the unsafe code and the constraints that make it 'safe'
Oct 25, 2024
2c26efd
Fixes for when using serde_json
Oct 25, 2024
4c0a2ee
Clippy lints for simd_json code
Oct 25, 2024
bd6a3d8
Test fixes and clippy lints
Oct 25, 2024
0548317
MARKER: All original tests work in serde_json mode
Oct 25, 2024
72e3636
Doc and change simd_json provenance
Oct 25, 2024
bcf29ef
MARKER: All but one test passed in simd_json mode!
Oct 25, 2024
ebf675f
All tests work...
Oct 25, 2024
353d14e
MARKER: serde_json mode works with no adverse affect on performance
Oct 25, 2024
bbc41da
Add debugging
Oct 25, 2024
2935c9f
More debug
Oct 25, 2024
4e0c417
Yeah, that didn't work AT ALL - literal crash!
Oct 26, 2024
4ab9c3c
The unsafe cast that works (using proposed features of simd_json)
Oct 28, 2024
23e5950
MARKER: Tests work for HTTP request deserialization via simd_json
Oct 28, 2024
08dd1b0
Remove explicit simd_json source
Oct 28, 2024
4950699
MARKER: Local integration tests work
Oct 28, 2024
614b8a3
fix doc tests
Oct 28, 2024
7b2f0bb
A bit more debugging
Oct 28, 2024
1f3f984
Comment out restart - it seems it's not required
Oct 28, 2024
05c0a0b
Tests without restart work - not net needed in this implementation
Oct 28, 2024
a939b8f
Use simd-json main
Oct 28, 2024
825e343
Simplify the cast and adjust the doc
Oct 29, 2024
a853fb9
Support feature pass_through
Oct 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Comment out restart - it seems it's not required
  • Loading branch information
Martin Bartlett committed Oct 28, 2024
commit 1f3f984ada274bbd0c9285d00bdccbc15f1b39c9
6 changes: 3 additions & 3 deletions lambda-http/src/deserializer/deserializer_simd_json.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ impl<'de> Deserialize<'de> for LambdaRequest {
} else {
(false, false, false)
};
debug!("State of d before restart: {:?}", d);
d.restart();
debug!("State of d after restart: {:?}", d);
// debug!("State of d before restart: {:?}", d);
// d.restart();
// debug!("State of d after restart: {:?}", d);

#[cfg(feature = "apigw_rest")]
if !(http_context || alb_context || websocket_context) {
Expand Down