Sample

int-ac56cb58c4be-I11

Split eligible integer literals into pairs of short-named intermediate variables

Matched original source

Lines31

Scores

MethodScoreScale
Posnett00–1; higher is more readable
Scalabrino0.8180–1; higher is more readable
Dorn0.5410–1; higher is more readable
Mi0.260–1; higher is more readable
LLOC3Logical lines; fewer is more readable
DeepSeek V4 Pro17.330–20; mean of three runs
GPT-6.1 Sol190–20; mean of three runs
BTTF0.6950–1; higher is more readable

Views

Source code

package io.netty.util; import io.netty.microbench.util.AbstractMicrobenchmark; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.Measurement; import org.openjdk.jmh.annotations.OutputTimeUnit; import org.openjdk.jmh.annotations.Param; import org.openjdk.jmh.annotations.Threads; import org.openjdk.jmh.annotations.Warmup; import java.util.concurrent.TimeUnit; @Threads(1) @Warmup(iterations = 3) @Measurement(iterations = 3) @OutputTimeUnit(TimeUnit.MICROSECONDS) public class GetIpV6ByNameBenchmark extends AbstractMicrobenchmark { @Param({ "::", "::1234:2345", "1234:2345::3456:7890", "fe80::bdad:7a67:6fcd:fa89", "fe80:bdad:7a67:6fcd::fa89", "1234:2345:3456:4567:5678:6789:0:7890" }) private String ip; @Benchmark public byte[] getIPv6ByName() { return NetUtil.getIPv6ByName(ip, true); } }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.923.471−30.475
Source linesThe number of non-empty source lines.31+12.4
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.5.188−7.782

Intercept 8.87 + feature contributions = -16.987 (log-odds).
Score = sigmoid(-16.987) = 0.

Score0.818

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Identifier layout (horizontal)How rapidly the visual pattern of identifier characters changes from left to right. It measures spatial frequency, not the meaning of the names.67.875+0.79
Indentation frequencyHow rapidly indentation changes from line to line.31+0.335
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.31−0.291
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.094+0.032
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.30.928+0.022
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.29+0.01

Intercept 0.07 + feature contributions = 0.165 (log-odds).
Score = sigmoid(0.165) = 0.541.

Score0.26
Score3
Run 1

This code is highly readable. It follows a clear, logical structure: package and imports first, then class-level annotations, then the benchmark parameter and method. Nesting is minimal and the code is flat. The intent is immediately clear — benchmarking NetUtil.getIPv6ByName with various IPv6 addresses. The code is concise, with no unnecessary boilerplate. Each annotation is on its own line, and the benchmark method is a single, straightforward action. The reading flow is natural, moving from setup (threads, warmup, measurement) to parameterized inputs to the benchmark logic. The only minor drawback is the long list of @Param values, but it is well-formatted and easy to scan.

Run 2

The code is highly readable due to its clear structure, minimal nesting, and concise length. The class has a single responsibility with a clear benchmark method. Annotations are used effectively to configure the benchmark without cluttering the logic. The parameter list is well-formatted and easy to scan. The action granularity is appropriate, with one logical operation per line. The reading flow is natural, from imports to annotations to fields to methods. The only minor deductions are the lack of a blank line separating imports from the class declaration and the missing space between method name and opening parenthesis in the @Param values, which slightly disrupts visual consistency. Overall, the code is well-organized and easy to understand.

Run 3

The code is highly readable with a clear structure and purpose. It's a JMH benchmark class with standard annotations, making its intent obvious to developers familiar with benchmarking. Nesting is minimal, the method is concise, and each annotation and parameter is on its own line, respecting action granularity. The reading flow is natural: imports, class annotations, field definition, benchmark method. The only minor deductions are for potential improvement in vertical spacing between annotation groups and the slight verbosity of repeating similar IPv6 strings, but overall this is well-organized, idiomatic Java benchmark code.

Run 1

1. Code Structure: Clearly organized into imports, benchmark configuration, parameter data, and a benchmark method. 2. Nesting: Minimal nesting and no conditional or looping complexity. 3. Clarity of intent: Descriptive class and method names plus JMH annotations make the benchmark's purpose clear; the literal true argument is less self-explanatory. 4. Code length: Concise, with no unnecessary logic or boilerplate. 5. Action granularity: Each annotation, parameter value, and executable statement occupies its own line. 6. Reading flow: Natural progression from configuration to input cases to execution; spacing after the package declaration and between import groups would slightly improve presentation.

Run 2

Code Structure: Imports, benchmark configuration, input parameters, and the benchmark method are logically organized. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: Descriptive class and method names, JMH annotations, and representative IPv6 inputs clearly convey the benchmark's purpose; the literal true argument is less self-explanatory. Code length: Concise, with no unnecessary logic or duplication. Action granularity: Each declaration and the single method operation occupy separate lines. Reading flow: Configuration naturally leads into test inputs and execution, although a blank line after the package declaration and clearer import grouping would improve visual separation.

Run 3

Code Structure: Clearly organized into imports, benchmark configuration, input parameters, and a single benchmark method. Nesting: Minimal, with no nested control flow. Clarity of intent: Class and method names, JMH annotations, and IPv6 inputs clearly identify the benchmark's purpose; the boolean argument true is less self-explanatory. Code length: Concise, with no unnecessary implementation. Action granularity: Each annotation, declaration, and return statement has a distinct role, with one executable action per line. Reading flow: Natural top-to-bottom progression from configuration to inputs to execution. A blank line after the package declaration and grouping Java imports before other imports would slightly improve presentation.