Skip to content

Commit c4d000a

Browse files
committed
Make code more efficient
1 parent 9812bb8 commit c4d000a

File tree

2 files changed

+24
-41
lines changed

2 files changed

+24
-41
lines changed

paddle/fluid/framework/operator.cc

Lines changed: 23 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -57,23 +57,18 @@ static DDim GetDims(const Scope& scope, const std::string& name,
5757
return DDim({-1});
5858
}
5959

60-
if (var->IsInitialized()) {
61-
if (var->IsType<LoDTensor>()) {
62-
const LoDTensor& tensor = var->Get<LoDTensor>();
63-
if (tensor.IsInitialized()) {
64-
return tensor.dims();
65-
} else {
66-
return DDim({-1});
67-
}
68-
} else if (var->IsType<SelectedRows>()) {
69-
if (get_actual_dim) {
70-
return var->Get<SelectedRows>().value().dims();
71-
} else {
72-
return var->Get<SelectedRows>().GetCompleteDims();
73-
}
74-
} else {
60+
if (var->IsType<LoDTensor>()) {
61+
const LoDTensor& tensor = var->Get<LoDTensor>();
62+
if (UNLIKELY(tensor.IsInitialized())) {
7563
return DDim({-1});
7664
}
65+
return tensor.dims();
66+
} else if (var->IsType<SelectedRows>()) {
67+
if (get_actual_dim) {
68+
return var->Get<SelectedRows>().value().dims();
69+
} else {
70+
return var->Get<SelectedRows>().GetCompleteDims();
71+
}
7772
} else {
7873
return DDim({-1});
7974
}
@@ -85,20 +80,15 @@ static std::string GetDtype(const Scope& scope, const std::string& name) {
8580
return "";
8681
}
8782

88-
if (var->IsInitialized()) {
89-
if (var->IsType<LoDTensor>()) {
90-
const LoDTensor& tensor = var->Get<LoDTensor>();
91-
if (tensor.IsInitialized()) {
92-
return DataTypeToString(ToDataType(tensor.type()));
93-
} else {
94-
return "";
95-
}
96-
} else if (var->IsType<SelectedRows>()) {
97-
return DataTypeToString(
98-
ToDataType(var->Get<SelectedRows>().value().type()));
99-
} else {
83+
if (var->IsType<LoDTensor>()) {
84+
const LoDTensor& tensor = var->Get<LoDTensor>();
85+
if (UNLIKELY(!tensor.IsInitialized())) {
10086
return "";
10187
}
88+
return DataTypeToString(ToDataType(tensor.type()));
89+
} else if (var->IsType<SelectedRows>()) {
90+
return DataTypeToString(
91+
ToDataType(var->Get<SelectedRows>().value().type()));
10292
} else {
10393
return "";
10494
}
@@ -110,10 +100,8 @@ static int GetRowSize(const Scope& scope, const std::string& name) {
110100
return -1;
111101
}
112102

113-
if (var->IsInitialized()) {
114-
if (var->IsType<SelectedRows>()) {
115-
return var->Get<SelectedRows>().rows().size();
116-
}
103+
if (var->IsType<SelectedRows>()) {
104+
return var->Get<SelectedRows>().rows().size();
117105
}
118106

119107
return -1;
@@ -127,17 +115,12 @@ static LoD GetLoD(const Scope& scope, const std::string& name) {
127115
return default_lod;
128116
}
129117

130-
if (var->IsInitialized()) {
131-
if (var->IsType<LoDTensor>()) {
132-
const LoDTensor& tensor = var->Get<LoDTensor>();
133-
if (tensor.IsInitialized()) {
134-
return tensor.lod();
135-
} else {
136-
return default_lod;
137-
}
138-
} else {
118+
if (var->IsType<LoDTensor>()) {
119+
const LoDTensor& tensor = var->Get<LoDTensor>();
120+
if (UNLIKELY(!tensor.IsInitialized())) {
139121
return default_lod;
140122
}
123+
return tensor.lod();
141124
} else {
142125
return default_lod;
143126
}

paddle/fluid/framework/tensor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class Tensor {
8282
template <typename T>
8383
const T* data() const;
8484

85-
bool IsInitialized() const;
85+
inline bool IsInitialized() const;
8686

8787
/**
8888
* @brief Return a pointer to mutable memory block.

0 commit comments

Comments
 (0)