[Soc-coordination] Tenth report: Provide some metrics in Debile
Clément Schreiner
clement at mux.me
Wed Jul 30 06:46:36 UTC 2014
Hi, this is the tenth weekly report on my Summer of Code project 'Provide
some metrics in Debile'[1].
(Previous report:
http://lists.alioth.debian.org/pipermail/soc-coordination/2014-July/002216.html)
I spent last week working on an iterative implementation of uniquify[2].
It took some time for me to understand how save the state of the tree
traversal, first trying something simple with dictionaries, but finally
opting for a linked list of objects[3]. While it's probably not ideal
performance-wise, it allowed me to reason more easily about the
algorithm.
Notably, I was able to deal with the fact that firehose objects have
attributes which can either be another firehose attribute, or a
list of firehose attributes.
Thus I had to handle two types of parent-child relationships, which was
easier to do those "heavy" objects.
Once uniquify was seemingly working, I wanted to check that the resulting SQL
tables were identical to the original uniquify's results, and I found a
tool for that[4]. However, I realized my tables were empty, since I did
not commit the session.
I fixed that, but now I keep getting IntegrityError exceptions. I
improved a few bits since, like adding a cache, but I'm still stuck on
that...
Thanks for reading, and sorry for the delay,
------
Clément
[1]
[https://wiki.debian.org/SummerOfCode2014/StudentApplications/ClementSchreiner]
[2]
[https://github.com/Debian/firewoes/blob/master/firewoes/lib/hash.py#L96]
[3]
[https://github.com/clemux/firewoes/blob/2144dbbf57e7d11bc3168837ca14b58fb1b83346/tests/iterative_uniquify.py]
[4] [http://pg-comparator.projects.pgfoundry.org/]
More information about the Soc-coordination
mailing list