Generally speaking,

Patches that decrease boxing/unboxing overhead are great, and we've made a
point of committing some of those in the past ( such as in CASSANDRA-12199
and CASSANDRA-8019 ) , though there are also some examples where we've
decided not to apply boxing changes to critical code paths that didn't have
a meaningful performance impact.

I would expect that if you refactor it in chunks - that is, break it down
into a handful of patches, where each patch is contained to a specific
subsystem (compaction, commitlog, repair, messaging, etc) so it could be
reasonably reviewed - such refactoring would likely be appreciated,
especially if it came with quantifiable performance increase (using
something like cstar https://github.com/datastax/cstar_perf or stress runs
or microbenchmarks or similar).

- Jeff


On Fri, Jun 9, 2017 at 10:50 AM, Ameya Sanjay Sanjay Ketkar <
ketk...@oregonstate.edu> wrote:

> Hello,
>
> I am  graduate researcher at Oregon State University, currently studying
> lambda expressions in java open source project.
> Using a generic Functional interface when a specialized primitive
> functional interface can be used, is one the lambda smells I am focussing
> on.
> for instance  Function<Integer, Integer> could be IntUnaryOperator.
>
> https://github.com/apache/cassandra/pull/116 <https://github.com/apache/
> cassandra/pull/116>
>
> Is an instance of refactoring, of such lambda smell.
> I would love to contribute to this project, by refactoring such lambda
> smells.
>
> I am developing a tool to detect such opportunities.
> But all the refactoring done are manual and all instances are checked and
> verified by me manually, before creating a pull request.
>
> Regards,
> Ameya Ketkar
>
> Graduate Research Assistant
> Oregon State University

Reply via email to