Refactor code to improve TensorDataSet construction speed.
authorA. Unique TensorFlower <gardener@tensorflow.org>
Mon, 19 Mar 2018 16:42:14 +0000 (09:42 -0700)
committerTensorFlower Gardener <gardener@tensorflow.org>
Mon, 19 Mar 2018 16:46:36 +0000 (09:46 -0700)
PiperOrigin-RevId: 189595482

tensorflow/contrib/tensor_forest/kernels/v4/input_data.h

index c544a8c..b991e63 100644 (file)
@@ -44,12 +44,15 @@ class TensorDataSet {
     int column_count = 0;
     for (int i = 0; i < input_spec_.dense_size(); ++i) {
       for (int j = 0; j < input_spec_.dense(i).size(); ++j) {
-        decision_trees::FeatureId id;
-        id.mutable_id()->set_value(strings::StrCat(column_count));
-        available_features_.push_back(id);
         ++column_count;
       }
     }
+    available_features_.reserve(column_count);
+    decision_trees::FeatureId id;
+    for (int i = 0; i < column_count; i++) {
+      id.mutable_id()->set_value(strings::StrCat(i));
+      available_features_.emplace_back(id);
+    }
 
     // Set up the random number generator.
     if (split_sampling_random_seed_ == 0) {