-
Notifications
You must be signed in to change notification settings - Fork 16
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
Support more serialization data types + Fixed out of memory issue #104
Conversation
|
@@ -24,19 +24,16 @@ object ScalaSerialDescriptor: | |||
|
|||
private inline def getSerialDescriptor[T <: Tuple]: List[SerialDescriptor] = inline erasedValue[T] match | |||
case _: EmptyTuple => Nil | |||
case _: (h *: t) => | |||
summonInline[ClassTag[h]].runtimeClass match { |
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.
Did an analysis with a JVM profiler, this call was killing performance, creating OOM exceptions in some cases. A better look, we don't need this logic at all, we can just work with type matching.
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.
Looks great @necosta ! thanks!
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.
Adding support for Option, List, Set and Map
still WIP, want to better understand why so much memory used on this logic.Performance improvement on ScalaSerialDescriptor, some out of memory issues seen on tests done by @Yawolf yesterday, should now be fixed.