You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Matthias Bechtold (JIRA)" <ji...@apache.org> on 2016/11/20 13:48:58 UTC

[jira] [Created] (KAFKA-4424) Make serializer classes final

Matthias Bechtold created KAFKA-4424:
----------------------------------------

             Summary: Make serializer classes final
                 Key: KAFKA-4424
                 URL: https://issues.apache.org/jira/browse/KAFKA-4424
             Project: Kafka
          Issue Type: Improvement
          Components: clients
            Reporter: Matthias Bechtold
            Priority: Minor


Implementations of simple serializers / deserializers should be final to prevent JVM method call overhead.
See also:
https://wiki.openjdk.java.net/display/HotSpot/VirtualCalls

This breaks the API slightly, inheritors must change to generic interfaces Serializer / Deserializer. But architecture-wise final serialization classes make the most sense to me.

So what do you think?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Re: [jira] [Created] (KAFKA-4424) Make serializer classes final

Posted by Michael Pearce <Mi...@ig.com>.
This is a change to api level / client code making it more restrictive as such would break code that has extended these classes.  we should therefor have a KIP for this.

At this time I would vote:
-1 this will break any existing code by organisations for imo unproven performance improvement.

Is there test cases running proving a significant performance improvement after jit/jvm warm up

Cheers
Mike
________________________________________
From: Matthias Bechtold (JIRA) <ji...@apache.org>
Sent: Sunday, November 20, 2016 1:48:58 PM
To: dev@kafka.apache.org
Subject: [jira] [Created] (KAFKA-4424) Make serializer classes final

Matthias Bechtold created KAFKA-4424:
----------------------------------------

             Summary: Make serializer classes final
                 Key: KAFKA-4424
                 URL: https://issues.apache.org/jira/browse/KAFKA-4424
             Project: Kafka
          Issue Type: Improvement
          Components: clients
            Reporter: Matthias Bechtold
            Priority: Minor


Implementations of simple serializers / deserializers should be final to prevent JVM method call overhead.
See also:
https://wiki.openjdk.java.net/display/HotSpot/VirtualCalls

This breaks the API slightly, inheritors must change to generic interfaces Serializer / Deserializer. But architecture-wise final serialization classes make the most sense to me.

So what do you think?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
The information contained in this email is strictly confidential and for the use of the addressee only, unless otherwise indicated. If you are not the intended recipient, please do not read, copy, use or disclose to others this message or any attachment. Please also notify the sender by replying to this email or by telephone (+44(020 7896 0011) and then delete the email and any copies of it. Opinions, conclusion (etc) that do not relate to the official business of this company shall be understood as neither given nor endorsed by it. IG is a trading name of IG Markets Limited (a company registered in England and Wales, company number 04008957) and IG Index Limited (a company registered in England and Wales, company number 01190902). Registered address at Cannon Bridge House, 25 Dowgate Hill, London EC4R 2YA. Both IG Markets Limited (register number 195355) and IG Index Limited (register number 114059) are authorised and regulated by the Financial Conduct Authority.