diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-06-27 11:04:48 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-06-28 16:32:57 +0100 |
commit | be22b92627408af79e1d62e23e838f5c01cf4fae (patch) | |
tree | c0cf7b0114b3bbd38b95c15b058d49e81b1e9d89 /bitbake | |
parent | edfb2ba32c5075e2df338a549021c634659f3225 (diff) | |
download | openembedded-core-contrib-be22b92627408af79e1d62e23e838f5c01cf4fae.tar.gz |
bitbake: runqueue.py: Convert depends variable to use sets
This gives some small performance gains and sets the scene for other
improvements by removing the need for duplicate detection code.
(Bitbake rev: 6fd723479e8d49227fd58040b3485c1d5afc4bc5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index e09e8c8080..c45287d035 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -409,7 +409,7 @@ class RunQueueData: for taskname in tasknames: taskid = taskData.gettask_id_fromfnid(depdata, taskname) if taskid is not None: - depends.append(taskid) + depends.add(taskid) def add_runtime_dependencies(depids, tasknames, depends): for depid in depids: @@ -421,10 +421,10 @@ class RunQueueData: for taskname in tasknames: taskid = taskData.gettask_id_fromfnid(depdata, taskname) if taskid is not None: - depends.append(taskid) + depends.add(taskid) for task in xrange(len(taskData.tasks_name)): - depends = [] + depends = set() recrdepends = [] fnid = taskData.tasks_fnid[task] fn = taskData.fn_index[fnid] @@ -437,7 +437,7 @@ class RunQueueData: # Resolve task internal dependencies # # e.g. addtask before X after Y - depends = taskData.tasks_tdepends[task] + depends = set(taskData.tasks_tdepends[task]) # Resolve 'deptask' dependencies # @@ -470,7 +470,7 @@ class RunQueueData: taskid = taskData.gettask_id_fromfnid(depdata, idependtask) if taskid is None: bb.msg.fatal("RunQueue", "Task %s in %s depends upon non-existent task %s in %s" % (taskData.tasks_name[task], fn, idependtask, dep)) - depends.append(taskid) + depends.add(taskid) if depdata != fnid: tdepends_fnid[fnid].add(taskid) irdepends = taskData.tasks_irdepends[task] @@ -482,7 +482,7 @@ class RunQueueData: taskid = taskData.gettask_id_fromfnid(depdata, idependtask) if taskid is None: bb.msg.fatal("RunQueue", "Task %s in %s rdepends upon non-existent task %s in %s" % (taskData.tasks_name[task], fn, idependtask, dep)) - depends.append(taskid) + depends.add(taskid) if depdata != fnid: tdepends_fnid[fnid].add(taskid) @@ -499,16 +499,12 @@ class RunQueueData: # Rmove all self references if task in depends: - newdep = [] logger.debug(2, "Task %s (%s %s) contains self reference! %s", task, taskData.fn_index[taskData.tasks_fnid[task]], taskData.tasks_name[task], depends) - for dep in depends: - if task != dep: - newdep.append(dep) - depends = newdep + depends.remove(task) self.runq_fnid.append(taskData.tasks_fnid[task]) self.runq_task.append(taskData.tasks_name[task]) - self.runq_depends.append(set(depends)) + self.runq_depends.append(depends) self.runq_revdeps.append(set()) self.runq_hash.append("") |