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/] _______________________________________________ Soc-coordination mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/soc-coordination
