diff options
author | David Robillard <d@drobilla.net> | 2017-02-18 19:29:15 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-02-18 19:38:14 +0100 |
commit | 667e633e829760b5a1e9591227ec5437cac1995d (patch) | |
tree | ffbcdcdacb1187912027e0365c8b0e571b43e5bf /src/server/CompiledGraph.hpp | |
parent | 24b575cf28f9b007939b9fa14c991c51326c8348 (diff) | |
download | ingen-667e633e829760b5a1e9591227ec5437cac1995d.tar.gz ingen-667e633e829760b5a1e9591227ec5437cac1995d.tar.bz2 ingen-667e633e829760b5a1e9591227ec5437cac1995d.zip |
Improve parallel analysis and execution algorithms
Diffstat (limited to 'src/server/CompiledGraph.hpp')
-rw-r--r-- | src/server/CompiledGraph.hpp | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/src/server/CompiledGraph.hpp b/src/server/CompiledGraph.hpp index eeeb6111..0578c18a 100644 --- a/src/server/CompiledGraph.hpp +++ b/src/server/CompiledGraph.hpp @@ -1,6 +1,6 @@ /* This file is part of Ingen. - Copyright 2007-2016 David Robillard <http://drobilla.net/> + Copyright 2007-2017 David Robillard <http://drobilla.net/> Ingen is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free @@ -61,16 +61,21 @@ private: typedef std::set<BlockImpl*> BlockSet; void compile_graph(GraphImpl* graph); - void compile_set(const BlockSet& blocks, Task& task, BlockSet& k); - void compile_block(BlockImpl* block, Task& task, BlockSet& k); - void compile_dependant(const BlockImpl* root, - BlockImpl* block, - Task& task, - BlockSet& k); - - Log& _log; - const Raul::Path _path; - Task _master; + + void compile_block(BlockImpl* block, + Task& task, + size_t max_depth, + BlockSet& k); + + void compile_provider(const BlockImpl* root, + BlockImpl* block, + Task& task, + size_t max_depth, + BlockSet& k); + + Log& _log; + const Raul::Path _path; + std::unique_ptr<Task> _master; }; } // namespace Server |