// Copyright 2016 The Bazel Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.devtools.build.lib.ssd;

import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionEffectTag;
import com.google.devtools.common.options.OptionsBase;

/**
 * Options that tune Bazel's performance in order to increase performance on workstations with an
 * SSD.
 */
public class SsdOptions extends OptionsBase {
  @Option(
    name = "experimental_multi_threaded_digest",
    defaultValue = "false",
    documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
    effectTags = {OptionEffectTag.UNKNOWN},
    help =
        "Whether to always compute MD5 digests of files with multiple threads. Might improve "
            + "performance when using an SSD."
  )
  public boolean experimentalMultiThreadedDigest;
}

@@ -1063,16 +1063,18 @@
 on(%0A    
+  
 name = %22
@@ -1114,16 +1114,18 @@
 t%22,%0A    
+  
 defaultV
@@ -1136,16 +1136,17 @@
  = %22
-fals
+tru
 e%22,%0A
+  
     
@@ -1212,16 +1212,18 @@
 ORIZED,%0A
+  
     effe
@@ -1266,15 +1266,19 @@
     
+  
 help =%0A
+  
     
@@ -1356,24 +1356,28 @@
 ds. 
-Might improve
+Setting this to
  %22%0A
+  
     
@@ -1387,16 +1387,34 @@
      + %22
+false may improve 
 performa
@@ -1433,18 +1433,27 @@
 ng a
-n SSD.%22%0A  
+ spinning platter.%22
 )%0A  

Switch the default for --experimental_multi_threaded_digest