TĂNG HIỆU QUẢ
CHƯƠNG TRÌNH
VÀ PHONG CÁCH
LẬP TRÌNH
2
Efficient Programs
Tr c h t là gi i thu t ướ ế
Hãy dùng gi i thu t hay nh t có th
Sau ó hãy ngh t i vi c t ng tính hi u qu c a codeđ ĩ ă
Ví d : Tính t ng c a n s t nhiên k t m ế
void main() {
long n,m,i , sum ;
cout << ‘ vào n ‘ ; cin << n;
cout << ‘ vào m ‘ ; cin << m;
sum =0;
for(i = m ; i < = m+n; i++)
sum += i;
cout << ‘ Tổng = ‘ <<sum;
}
void main()
{
long n,m , sum ;
cout << ‘ vào n ‘ ; cin << n;
cout << ‘ vào m ‘ ; cin << m;
sum =(m + m+ n) * n / 2;
cout << ‘ Tổng = ‘ <<sum;
}
3
Dùng chỉ thị chương trình dịch
M t s c ompilers có vai trò r t l n trong vi c
t i u ch ng trình ư ươ
Chúng phân tích sâu mã ngu n và làm m i i u đ
“machinely” có th
Ví d GNU g++ compiler trên Linux/Cygwin
cho ch ng trình vi t = cươ ế
g++ –O5 –o myprog myprog.c
có th c i thi n hi u n ng t ă 10% nđế 300%
4
Nhưng...
B n v n có th th c hi n nh ng c i ti n mà ế
trình d ch không th
B n ph i lo i b t t c nh ng ch b t h p lý
trong code
Làm cho ch ng trình hi u qu nh t có thươ
Có th ph i xem l i khi th y ch ng trình ươ
ch y ch m
V y c n t p trung vào âu c i ti n nhanh đ để ế
nh t, t t nh t ?
5
Writing Efficient Code
Xác nh ngu n gây kém hi u quđị
D th a tính toán - ư redundant computation
Ch y u ế
Trong các procedure
Các vòng l p : Loops