Skip to content

Conversation

@chaokunyang
Copy link
Collaborator

@chaokunyang chaokunyang commented Apr 10, 2024

What does this PR do?

This PR optimize string serialization by concating coder and length into a long and serialize it together, it can save one byte for small string which the length is less than 32

Related issues

#1240

Does this PR introduce any user-facing change?

  • Does this PR introduce any public API change?
  • Does this PR introduce any binary protocol compatibility change?

Benchmark

Before

Benchmark                                  (bufferType)   (objectType)  (references)   Mode  Cnt        Score       Error  Units
UserTypeDeserializeSuite.fury_deserialize         array  MEDIA_CONTENT         false  thrpt   50  2576580.395 ± 55698.851  ops/s

This PR:

Benchmark                                  (bufferType)   (objectType)  (references)   Mode  Cnt        Score       Error  Units
UserTypeDeserializeSuite.fury_deserialize         array  MEDIA_CONTENT         false  thrpt   50  2591695.102 ± 48174.940  ops/s

@chaokunyang chaokunyang marked this pull request as draft April 10, 2024 06:23
@chaokunyang chaokunyang marked this pull request as ready for review April 11, 2024 14:04
@chaokunyang
Copy link
Collaborator Author

@theweipeng @LiangliangSui Could you please help review this PR?

@chaokunyang chaokunyang merged commit 46db7e0 into apache:main Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants