Is there something i'm doing wrong?
 
	 
	 
	 
	put a sleep command in the program within the loop, minimum of sleep(0.1)
a longer sleep will make the turtle attack less frequently, but cause less lag.
while true do
 if NOT turtle.attack() then
  sleep(0.2)
 end
endA really nice way to do it that I saw recently posted was this:
Code:while true do if NOT turtle.attack() then sleep(0.2) end end
So the turtle attacks as fast as possible, but when it cannot hit anything, it waits a fifth of a second then tries again.
while true do
 if not turtle.attack() and not rs.getInput("front") then
      os.pullEvent("redstone")
 end
end 
	