Tôi đã đọc rằng việc sử dụng ipairs chậm so với vòng lặp for, tôi có nên thay đổi thói quen lập trình của mình không? Tôi sẽ sử dụng lua 5.2 một ngày, hiện tại là 5.1.Tôi có nên sử dụng ipairs hoặc vòng lặp cho
Mảng của tôi tối đa khoảng 1000 mục.
local mytbl = { 'a','b','c','e'}
for i,v in ipairs(mytbl) do
print(i,v)
end
for i=1,#mytbl do
print(i,mytbl[i])
end
Cảm ơn bảng hiệu suất. Một thời gian gấp đôi là thực sự không nhiều khi nói đến chỉ là một vài vòng, vì vậy tôi không có nhu cầu lớn để thay đổi mã hiện tại của tôi. Nhưng đối với các vòng trong tương lai, tôi biết bây giờ những gì tôi cần làm. Cảm ơn! – topskip
Giống như tất cả các cân nhắc về hiệu suất, tất cả đều phụ thuộc vào ngữ cảnh. Premature tối ưu hóa là gốc rễ của tất cả các điều ác và whatnot. – Amber
Bình luận của bạn nên đọc: ** "thì bạn sẽ cần phải sử dụng' cặp() '" ** Chỉ có hai "dạng cặp": 'cặp' và' ipairs'. Cái sau là chính xác tương đương với vòng lặp for: nó lặp lại bằng cách tăng chỉ số bằng số từ '1' sang' # t'. Nó sẽ không hoạt động trong các trường hợp ví dụ của bạn vì cùng một lý do mà vòng lặp 'for' sẽ không. – Mud