diff options
author | robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-07-19 00:50:48 +0000 |
---|---|---|
committer | robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-07-19 00:50:48 +0000 |
commit | 7ac13b7198c981b6d69aabff662b5e264e1c56f7 (patch) | |
tree | 267423cc7d1c89f576c33efb81eeebafadcf521e /tools/lua/bbh_filter.lua | |
parent | 0abc976e33102c0f5f14eacf90bdf7f52a3339b6 (diff) |
Reverting r10173 due to compile problems
git-svn-id: http://skia.googlecode.com/svn/trunk@10174 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tools/lua/bbh_filter.lua')
-rw-r--r-- | tools/lua/bbh_filter.lua | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/tools/lua/bbh_filter.lua b/tools/lua/bbh_filter.lua deleted file mode 100644 index 73b530c7c7..0000000000 --- a/tools/lua/bbh_filter.lua +++ /dev/null @@ -1,148 +0,0 @@ --- bbh_filter.lua --- --- This script outputs info about 'interesting' skp files, --- where the definition of 'interesting' changes but is roughly: --- "Interesting for bounding box hierarchy benchmarks." --- --- Currently, the approach is to output, in equal ammounts, the names of the files that --- have most commands, and the names of the files that use the least popular commands. - -function count_entries(table) - local count = 0 - for _,_ in pairs(table) do - count = count + 1 - end - return count -end - -verbCounts = {} - -function reset_current() - -- Data about the skp in transit - currentInfo = { - fileName = '', - verbs = {}, - numOps = 0 - } -end -reset_current() - -numOutputFiles = 10 -- This is per measure. -globalInfo = {} -- Saves currentInfo for each file to be used at the end. -output = {} -- Stores {fileName, {verb, count}} tables. - -function tostr(t) - local str = "" - for k, v in next, t do - if #str > 0 then - str = str .. ", " - end - if type(k) == "number" then - str = str .. "[" .. k .. "] = " - else - str = str .. tostring(k) .. " = " - end - if type(v) == "table" then - str = str .. "{ " .. tostr(v) .. " }" - else - str = str .. tostring(v) - end - end - return str -end - -function sk_scrape_startcanvas(c, fileName) end - -function sk_scrape_endcanvas(c, fileName) - globalInfo[fileName] = currentInfo - globalInfo[fileName].fileName = fileName - reset_current() -end - -function sk_scrape_accumulate(t) - -- dump the params in t, specifically showing the verb first, which we - -- then nil out so it doesn't appear in tostr() - -- - verbCounts[t.verb] = (verbCounts[t.verb] or 0) + 1 - currentInfo.verbs[t.verb] = (currentInfo.verbs[t.verb] or 0) + 1 - currentInfo.numOps = currentInfo.numOps + 1 - - t.verb = nil -end - -function sk_scrape_summarize() - verbWeights = {} -- {verb, weight}, where 0 < weight <= 1 - - meta = {} - for k,v in pairs(verbCounts) do - table.insert(meta, {key=k, value=v}) - end - table.sort(meta, function (a,b) return a.value > b.value; end) - maxValue = meta[1].value - io.write("-- ==================\n") - io.write("------------------------------------------------------------------ \n") - io.write("-- Command\t\t\tNumber of calls\t\tPopularity\n") - io.write("------------------------------------------------------------------ \n") - for k, v in pairs(meta) do - verbWeights[v.key] = v.value / maxValue - - -- Poor man's formatting: - local padding = "\t\t\t" - if (#v.key + 3) < 8 then - padding = "\t\t\t\t" - end - if (#v.key + 3) >= 16 then - padding = "\t\t" - end - - io.write ("-- ",v.key, padding, v.value, '\t\t\t', verbWeights[v.key], "\n") - end - - meta = {} - function calculate_weight(verbs) - local weight = 0 - for name, count in pairs(verbs) do - weight = weight + (1 / verbWeights[name]) * count - end - return weight - end - for n, info in pairs(globalInfo) do - table.insert(meta, info) - end - - local visitedFiles = {} - - -- Prints out information in lua readable format - function output_with_metric(metric_func, description, numOutputFiles) - table.sort(meta, metric_func) - print(description) - local iter = 0 - for i, t in pairs(meta) do - if not visitedFiles[t.fileName] then - visitedFiles[t.fileName] = true - io.write ("{\nname = \"", t.fileName, "\", \nverbs = {\n") - for verb,count in pairs(globalInfo[t.fileName].verbs) do - io.write(' ', verb, " = ", count, ",\n") - end - io.write("}\n},\n") - - iter = iter + 1 - if iter >= numOutputFiles then - break - end - end - end - end - - output_with_metric( - function(a, b) return calculate_weight(a.verbs) > calculate_weight(b.verbs); end, - "\n-- ================== skps with calling unpopular commands.", 10) - output_with_metric( - function(a, b) return a.numOps > b.numOps; end, - "\n-- ================== skps with the most calls.", 50) - - local count = count_entries(visitedFiles) - - print ("-- Spat", count, "files") -end - |