[Bf-blender-cvs] [287197c] master: Depsgraph: Fully switch from string to const char*
Sergey Sharybin
noreply at git.blender.org
Mon Nov 7 11:44:07 CET 2016
Commit: 287197c4e33ca27a02188402543af0ba0286a5f5
Author: Sergey Sharybin
Date: Thu Nov 3 14:45:47 2016 +0100
Branches: master
https://developer.blender.org/rB287197c4e33ca27a02188402543af0ba0286a5f5
Depsgraph: Fully switch from string to const char*
This brings up to 10-20% depsgraph build time improvement in the layout
files from the studio repository.
===================================================================
M source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
M source/blender/depsgraph/intern/builder/deg_builder_nodes.h
M source/blender/depsgraph/intern/builder/deg_builder_relations.cc
M source/blender/depsgraph/intern/builder/deg_builder_relations.h
M source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc
M source/blender/depsgraph/intern/depsgraph_intern.h
M source/blender/depsgraph/intern/eval/deg_eval_debug.cc
M source/blender/depsgraph/intern/eval/deg_eval_debug.h
M source/blender/depsgraph/intern/nodes/deg_node.cc
M source/blender/depsgraph/intern/nodes/deg_node.h
M source/blender/depsgraph/intern/nodes/deg_node_component.cc
M source/blender/depsgraph/intern/nodes/deg_node_component.h
M source/blender/depsgraph/intern/nodes/deg_node_operation.cc
===================================================================
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 63dd915..445b720 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -190,7 +190,7 @@ OperationDepsNode *DepsgraphNodeBuilder::add_operation_node(
eDepsOperation_Type optype,
DepsEvalOperationCb op,
eDepsOperation_Code opcode,
- const string &name,
+ const char *name,
int name_tag)
{
OperationDepsNode *op_node = comp_node->has_operation(opcode,
@@ -218,7 +218,7 @@ OperationDepsNode *DepsgraphNodeBuilder::add_operation_node(
eDepsOperation_Type optype,
DepsEvalOperationCb op,
eDepsOperation_Code opcode,
- const string &name,
+ const char *name,
int name_tag)
{
ComponentDepsNode *comp_node = add_component_node(id, comp_type, comp_name);
@@ -231,7 +231,7 @@ OperationDepsNode *DepsgraphNodeBuilder::add_operation_node(
eDepsOperation_Type optype,
DepsEvalOperationCb op,
eDepsOperation_Code opcode,
- const string& name,
+ const char *name,
int name_tag)
{
return add_operation_node(id,
@@ -248,7 +248,7 @@ bool DepsgraphNodeBuilder::has_operation_node(ID *id,
eDepsNode_Type comp_type,
const char *comp_name,
eDepsOperation_Code opcode,
- const string &name,
+ const char *name,
int name_tag)
{
return find_operation_node(id,
@@ -264,7 +264,7 @@ OperationDepsNode *DepsgraphNodeBuilder::find_operation_node(
eDepsNode_Type comp_type,
const char *comp_name,
eDepsOperation_Code opcode,
- const string &name,
+ const char *name,
int name_tag)
{
ComponentDepsNode *comp_node = add_component_node(id, comp_type, comp_name);
@@ -275,7 +275,7 @@ OperationDepsNode *DepsgraphNodeBuilder::find_operation_node(
ID *id,
eDepsNode_Type comp_type,
eDepsOperation_Code opcode,
- const string& name,
+ const char *name,
int name_tag)
{
return find_operation_node(id, comp_type, "", opcode, name, name_tag);
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h
index e93dedc..72dc733 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h
@@ -82,7 +82,7 @@ struct DepsgraphNodeBuilder {
eDepsOperation_Type optype,
DepsEvalOperationCb op,
eDepsOperation_Code opcode,
- const string& name = "",
+ const char *name = "",
int name_tag = -1);
OperationDepsNode *add_operation_node(ID *id,
eDepsNode_Type comp_type,
@@ -90,34 +90,34 @@ struct DepsgraphNodeBuilder {
eDepsOperation_Type optype,
DepsEvalOperationCb op,
eDepsOperation_Code opcode,
- const string& name = "",
+ const char *name = "",
int name_tag = -1);
OperationDepsNode *add_operation_node(ID *id,
eDepsNode_Type comp_type,
eDepsOperation_Type optype,
DepsEvalOperationCb op,
eDepsOperation_Code opcode,
- const string& name = "",
+ const char *name = "",
int name_tag = -1);
bool has_operation_node(ID *id,
eDepsNode_Type comp_type,
const char *comp_name,
eDepsOperation_Code opcode,
- const string& name = "",
+ const char *name = "",
int name_tag = -1);
OperationDepsNode *find_operation_node(ID *id,
eDepsNode_Type comp_type,
const char *comp_name,
eDepsOperation_Code opcode,
- const string &name = "",
+ const char *name = "",
int name_tag = -1);
OperationDepsNode *find_operation_node(ID *id,
eDepsNode_Type comp_type,
eDepsOperation_Code opcode,
- const string &name = "",
+ const char *name = "",
int name_tag = -1);
void build_scene(Main *bmain, Scene *scene);
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 61275ff..797fcd8 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -214,7 +214,7 @@ OperationDepsNode *DepsgraphRelationBuilder::find_node(
key.name_tag);
if (!op_node) {
fprintf(stderr, "find_node_operation: Failed for (%s, '%s')\n",
- DEG_OPNAMES[key.opcode], key.name.c_str());
+ DEG_OPNAMES[key.opcode], key.name);
}
return op_node;
}
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.h b/source/blender/depsgraph/intern/builder/deg_builder_relations.h
index ce9f36c..056d4fd 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.h
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.h
@@ -104,7 +104,7 @@ struct ComponentKey
ComponentKey() :
id(NULL), type(DEPSNODE_TYPE_UNDEFINED), name("")
{}
- ComponentKey(ID *id, eDepsNode_Type type, const string &name = "") :
+ ComponentKey(ID *id, eDepsNode_Type type, const char *name = "") :
id(id), type(type), name(name)
{}
@@ -120,7 +120,7 @@ struct ComponentKey
ID *id;
eDepsNode_Type type;
- string name;
+ const char *name;
};
struct OperationKey
@@ -136,7 +136,7 @@ struct OperationKey
OperationKey(ID *id,
eDepsNode_Type component_type,
- const string &name,
+ const char *name,
int name_tag = -1)
: id(id),
component_type(component_type),
@@ -147,8 +147,8 @@ struct OperationKey
{}
OperationKey(ID *id,
eDepsNode_Type component_type,
- const string &component_name,
- const string &name,
+ const char *component_name,
+ const char *name,
int name_tag)
: id(id),
component_type(component_type),
@@ -170,7 +170,7 @@ struct OperationKey
{}
OperationKey(ID *id,
eDepsNode_Type component_type,
- const string &component_name,
+ const char *component_name,
eDepsOperation_Code opcode)
: id(id),
component_type(component_type),
@@ -183,7 +183,7 @@ struct OperationKey
OperationKey(ID *id,
eDepsNode_Type component_type,
eDepsOperation_Code opcode,
- const string &name,
+ const char *name,
int name_tag = -1)
: id(id),
component_type(component_type),
@@ -194,9 +194,9 @@ struct OperationKey
{}
OperationKey(ID *id,
eDepsNode_Type component_type,
- const string &component_name,
+ const char *component_name,
eDepsOperation_Code opcode,
- const string &name,
+ const char *name,
int name_tag = -1)
: id(id),
component_type(component_type),
@@ -217,9 +217,9 @@ struct OperationKey
ID *id;
eDepsNode_Type component_type;
- string component_name;
+ const char *component_name;
eDepsOperation_Code opcode;
- string name;
+ const char *name;
int name_tag;
};
@@ -327,7 +327,7 @@ protected:
template <typename KeyType>
DepsNodeHandle create_node_handle(const KeyType& key,
- const string& default_name = "");
+ const char *default_name = "");
bool needs_animdata_node(ID *id);
@@ -337,7 +337,7 @@ private:
struct DepsNodeHandle
{
- DepsNodeHandle(DepsgraphRelationBuilder *builder, OperationDepsNode *node, const string &default_name = "") :
+ DepsNodeHandle(DepsgraphRelationBuilder *builder, OperationDepsNode *node, const char *default_name = "") :
builder(builder),
node(node),
default_name(default_name)
@@ -347,7 +347,7 @@ struct DepsNodeHandle
DepsgraphRelationBuilder *builder;
OperationDepsNode *node;
- const string &default_name;
+ const char *default_name;
};
/* Utilities for Builders ----------------------------------------------------- */
@@ -441,7 +441,7 @@ void DepsgraphRelationBuilder::add_node_handle_relation(
template <typename KeyType>
DepsNodeHandle DepsgraphRelationBuilder::create_node_handle(
const KeyType &key,
- const string &default_name)
+ const char *default_name)
{
return DepsNodeHandle(this, find_node(key), default_name);
}
diff --git a/source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc b/source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc
index 70cd5f1..0d56ce7 100644
--- a/source/blender/depsgra
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list