From 6522f580110e25c5f030c65f830fda430ccc0f47 Mon Sep 17 00:00:00 2001 From: "Adrian C. (anrxc)" Date: Thu, 17 Mar 2011 04:26:20 +0100 Subject: cpu: another 10 percent optimization from Joerg --- widgets/cpu.lua | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'widgets') diff --git a/widgets/cpu.lua b/widgets/cpu.lua index 319da3e..978b5f4 100644 --- a/widgets/cpu.lua +++ b/widgets/cpu.lua @@ -1,7 +1,8 @@ --------------------------------------------------- -- Licensed under the GNU General Public License v2 --- * (c) 2010, Adrian C. +-- * (c) 2011, Adrian C. -- * (c) 2009, Lucas de Vries +-- * (c) 2011, Jörg Thalheim --------------------------------------------------- -- {{{ Grab environment @@ -11,7 +12,7 @@ local setmetatable = setmetatable local math = { floor = math.floor } local table = { insert = table.insert } local string = { - find = string.find, + sub = string.sub, gmatch = string.gmatch } -- }}} @@ -32,12 +33,12 @@ local function worker(format) -- Get CPU stats for line in io.lines("/proc/stat") do - if string.find(line, "^cpu") then - cpu_lines[#cpu_lines+1] = {} + if string.sub(line, 1, 3) ~= "cpu" then break end - for i in string.gmatch(line, "[%s]+([%d]+)") do - table.insert(cpu_lines[#cpu_lines], i) - end + cpu_lines[#cpu_lines+1] = {} + + for i in string.gmatch(line, "[%s]+([^%s]+)") do + table.insert(cpu_lines[#cpu_lines], i) end end -- cgit v1.2.3