- Notifications
You must be signed in to change notification settings - Fork1.2k
Optimize value_iterator::get_string()#2211
Optimize value_iterator::get_string()#2211CarlosEduR wants to merge 1 commit intosimdjson:masterfrom
Conversation
CarlosEduR commentedJul 11, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@lemire I'd like to confirm it before making the PR ready for review I believe the current changes are not covering all cases we've talked about. In case the character
is it correct? |
| const char* start = raw_json_string_result.value_unsafe().raw(); | ||
| const char* json = start; | ||
| for (; *json != '\0'; ++json) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
You don't think you need*json != '\0'... and, in fact, it is likely incorrect. The JSON spec does not forbid null characters inside the string as far as I can tell, and it does not enforce that the string be null terminated.
lemire commentedJul 11, 2024
Let me do some work of my own (next few hours). |
lemire commentedJan 21, 2026
Reproducing my comment here: Here is my current view. We should have a simple/cheap inlined function (which can use NEON/SSE2) equivalent to the following... std::none_of(s.begin(), s.end(), [](char c) {return c =='\\'; }); One thing that@CarlosEduR did not have is that you can call Unfortunately the |
Relates to:#1470