@@ -37,12 +37,14 @@ private Mutation(final boolean detected, final MutationStatus status, final int
3737        this .detected  = detected ;
3838        this .status  = status ;
3939        this .line  = line ;
40-         this .mutator  = mutator ;
41-         this .killingTest  = killingTest ;
42-         this .mutatedClass  = mutatedClass ;
43-         this .method  = method ;
44-         this .signature  = signature ;
45-         this .description  = description ;
40+ 
41+         // Intern all these values as the content is repeated very often across all mutations 
42+         this .mutator  = mutator .intern ();
43+         this .killingTest  = killingTest .intern ();
44+         this .mutatedClass  = mutatedClass .intern ();
45+         this .method  = method .intern ();
46+         this .signature  = signature .intern ();
47+         this .description  = description .intern ();
4648    }
4749
4850    public  String  getMutatedClass () {
@@ -130,11 +132,15 @@ public boolean equals(final Object o) {
130132            return  false ;
131133        }
132134        Mutation  mutation  = (Mutation ) o ;
133-         return  detected  == mutation .detected  && line  == mutation .line  && status  == mutation .status 
134-                 && Objects .equals (mutator , mutation .mutator ) && Objects .equals (killingTest ,
135-                 mutation .killingTest ) && Objects .equals (mutatedClass , mutation .mutatedClass )
136-                 && Objects .equals (method , mutation .method ) && Objects .equals (signature ,
137-                 mutation .signature ) && Objects .equals (description , mutation .description );
135+         return  detected  == mutation .detected 
136+                 && line  == mutation .line 
137+                 && status  == mutation .status 
138+                 && Objects .equals (mutator , mutation .mutator )
139+                 && Objects .equals (killingTest , mutation .killingTest )
140+                 && Objects .equals (mutatedClass , mutation .mutatedClass )
141+                 && Objects .equals (method , mutation .method )
142+                 && Objects .equals (signature , mutation .signature )
143+                 && Objects .equals (description , mutation .description );
138144    }
139145
140146    @ Override 
0 commit comments