Tài liệu Công cụ phát triển: Trình biên dịch C/C++ tốt nhất? - Pdf 10

Công cụ phát triển: Trình biên dịch C/C++
tốt nhất?
Mặc dù xuất hiện nhiều ngôn ngữ lập trình và công nghệ mới, C++ vẫn là công cụ
chính của nhiều nhà phát triển, có thể vị trí của nó sẽ vẫn được duy trì nhiều năm
nữa. C++ nổi bật về sự linh động, tính khả chuyển, hiệu quả và tốc độ. Mặc dù
năng lực xử lý của máy tính đã có sự gia tăng đáng kể, hiệu suất phần mềm vẫn là
yếu tố quan trọng, C++ là ngôn ngữ sẽ cho hiệu suất vượt trội hầu như về mọi
phương diện nếu được sử dụng một cách đúng đắn.
Bài viết này so sánh 9 trình biên dịch C++ phổ biến, đánh giá về hiệu suất, tính
năng và công cụ. Các trình biên dịch (TBD) hoặc là chỉ hỗ trợ môi trường Win32,
hoặc là hỗ trợ các biến thể khác Win32. Việc kiểm tra đánh giá được thực hiện
trên 1 máy Windows XP Pro (1 BXL 2GHz, 512MB RAM) hoàn toàn không chạy
các tác vụ khác.

Thời gian biên dịch
Trong nhiều trường hợp, thời gian biên dịch không quan trọng. Tuy nhiên, nó là
yếu tố then chốt trong các hệ thống lớn hay trong môi trường phát triển thường
hay biên dịch ứng dụng (như trong mô hình phát triển eXtreme Programming).
Các yếu tố quan trọng trong quá trình biên dịch/liên kết mã nguồn bao gồm: số
lượng các thư viện, sử dụng các thành phần được biên dịch trước, độ phức tạp của
mã lệnh, yêu cầu về tối ưu (cho cả biên dịch và liên kết) và kích thước các mô đun
biên dịch. Các tình huống được xem xét:
1. C1. Một file C lớn (1000 hàm), duy nhất (không 'include'); chỉ biên dịch, không
tối ưu.
2. C2. Một file C với số lượng file include lớn (500); chỉ biên dịch, không tối ưu.
3. C3. Một file C với số lượng file include lồng nhau nhiều cấp (100), mỗi file
được include bởi file trước nó và file main. Thử nghiệm đánh giá ảnh hưởng của
việc include nhiều cấp; chỉ biên dịch không tối ưu.
4. pch. Một bộ file C++ (main.cpp, pch.cpp và 40 file lớp .h/.cpp) dùng chung
header, (biên dịch và liên kết; các header được biên dịch trước; không tối ưu).
5. whereis. Một file C++ duy nhất nhưng phức tạp với nhiều include thư viện hệ

Tốc độ sinh mã
Kế tiếp chúng ta xem xét tốc độ sinh mã, giới hạn ở 5 tình huống sau:
1. Dhrystone (opedia .com/TERM/D/Dhrystone.html). Phép đo
này kiểm tra tốc độ tính toán số nguyên. Vì nó sử dụng toàn bộ CPU (không có bất
kỳ tác vụ truy cập tài nguyên hay I/O nào trong quá trình kiểm tra), đây là phép đo
tốt về tốc độ mã lệnh đã được biên dịch. Tốc độ được đo với số Dhrystone trong 1
giây (số càng lớn càng tốt).


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status