30/09/2018, 19:07
Ngôn ngữ lập trình nào chạy nhanh nhất?
Trong các kì thi thuật toán, như codeforce thì mình nên dùng ngôn ngữ lập trình nào để nó chạy nhanh nhất?? (Giả sử thuật toán hoàn toàn giống nhau)
Bài liên quan
chắc là ngôn ngữ cấp thấp chạy thì nhanh nhất :-?
Chạy nhanh thì không chỉ phụ thuộc vào ngôn ngữ.
-> Ngôn ngữ càng thấp thì ứng dụng có thể chạy nhanh hơn.
-> Compiler xịn thì ứng dụng có thể chạy nhanh hơn
-> Hệ điều hành tương thích thì ứng dụng có thể chạy nhanh hơn.
-> Thư viện tốt thì ứng dụng có thể chạy nhanh hơn.
…
Vậy để ứng dụng chạy nhanh nhất thì đáp ứng hết các điều kiện. Tuy nhiên nó cũng phụ thuộc rất nhiều vào khả năng xây dựng thuật toán.
Còn thuật toán thì không chắc là làm được hoàn toàn giống nhau ở mọi ngôn ngữ.
Kinh nghiệm của mình thì pascal chạy nhanh và ổn định nhất. Nhưng C++ cũng đạt tốc độ ko kém và dễ sử dụng hơn => C++. Mình code 5 năm algorithm cũng = C++
Tất nhiên là mã máy rồi
Nhưng nếu là để thi thì nên chọn ngôn ngữ nào mà mình code thần thánh nhất
Kể đến tốc độ trong các kì thi thuật toán thì mình nghĩ Pascal có lẽ đạt được nguyện vọng nhanh nhất của bạn. Nhưng không thể không bỏ qua C/C++. Vì như mình làm 1 số bài tập chỉ là cộng trừ nhân chia nhiều lần bình thường với time limited = 1s thì pascal không thể đạt yêu cầu trong khi C/C++ tốc độ xử lý phép toán có vẻ nhanh hơn nên pass được bài đó. Cố gắng tránh những ngôn ngữ bậc cao quá vì nó yêu cầu gọi các thư viện mà đôi lúc mình không dùng đến một số thứ trong đó.
Thân
Mình thấy bất quá không làm thế nào được trong vấn đề hiệu suất người ta mới dùng ngôn ngữ bậc thấp.
Dung ngon ngu bac thap nhanh hon vi no khong yeu cau load cac standard lib (nhu java hay ruby…)
Vs lai thuat toan ban viet ra cung la mot phan quan trong (vd de qui thuong cham hon)
… than.
Ngôn ngữ bậc thấp thì chi phí phát triển tăng cao nên hiệu suất thường thấp.
it’s machine code.
Mình nghĩ nên dùng C++/C build những thư viện cần thiết rồi add reference vào C# code thì sẽ tối ưu nhất vì loại bỏ được những function không cần thiết và focus vô được nội dung mình cần. Cần cái nào thì viết cái đó. Nhưng để viết lại những thu viện cần thiết = C/C++ thì phải pro và tốn nhiều time($)
Nhiều time gì …
Viết như C++ thông thường rồi build thành dll, hoặc dùng luôn dll của C++ rồi chỉ cần vào C# gọi hàm ra như gọi API thông thường.
Các này để có được tốc độ của C++ trong C# hoặc dùng luôn thư viện của C++.
Nhiều tiền chứ nhiều gì bạn.