PDA

View Full Version : Tối ưu với Pascal ?



CrazyBabe
15-11-2002, 11:01
Hì hì, thấy bên mấy box C/C++ lun có mí bài tối ưu, thử viết tí tẹo tối ưu với P xem.
Mảng nhiều chiều: Độ lớn của chiều nên là số mũ của 2 >> ct dịch sẽ tối ưu phép nhân thành phép dịch bit hộ bạn. Còn nếu không chịu khó dùng mảng 1 chiều rồi chuyển toạ độ sang, tự tối ưu lấy phép tính vị trí ( ví dụ như X*320 = X ShL 6+X Shl 8, phép tính thứ 2 nhanh hơn trên dòng máy 386 trở lên).
Nếu thân ct của bạn viết bằng mã assembly: Tham số vào (X1..XN)
Biến X1 nằm trong AL (byte), AX (word), EAX (longint), EAX:EDX (Int64), hoặc địa chỉ là EAX nếu là con trỏ, xâu hay mảng, kiểu số thực nằm trong ST(0), có thể truy xuất trực tiếp không cần nạp lại, các biến còn lại lần lượt trên địa chỉ [ESI-Size of all element before us] (Cái này không nhớ có chính xác hông nữa).
Tối ưu nên tính toán trên các kiểu số 32bit.
Nếu yêu cầu thiết kế bản ghi có các field tách biệt dùng trong từng trường hợp riêng (có nghĩa là không quan hệ đến nhau) hãy dùng cấu trúc bản ghi chèn. Ví dụ:
Record
List of element;
Case Byte of
1 : (List of element);
2 : (List of element);
...
End;
Cái nằm nhằm tối ưu tiết kiệm bộ nhớ thui.
Hic hic, tịt rùi.... lol lol

nbthanh
18-11-2002, 18:27
Tối ưu hoá với Pascal? :-) Với BP7.0: http://www.diendantinhoc.org/forum/forum.cgi?action=msg&msg=1012185176#1012185176