Điều này có vẻ như một câu hỏi kỳ lạ đối với một số bạn.
Tôi là một lập trình viên Java có sở thích. Tôi đã phát triển một số trò chơi, một chương trình AI tạo ra âm nhạc, một chương trình khác để vẽ tranh và những thứ tương tự. Điều này là để nói với bạn rằng tôi có kinh nghiệm lập trình, nhưng không phát triển chuyên nghiệp các ứng dụng kinh doanh.
Tôi thấy rất nhiều cuộc nói chuyện trên trang web này về hiệu suất. Mọi người thường tranh luận điều gì sẽ là thuật toán hiệu quả nhất trong C # để thực hiện một tác vụ hoặc tại sao Python chậm và Java nhanh hơn, v.v.
Điều tôi đang cố gắng hiểu là: tại sao điều này lại quan trọng?
Có những lĩnh vực điện toán cụ thể mà tôi thấy tại sao hiệu năng lại quan trọng: trò chơi, trong đó hàng chục ngàn phép tính đang diễn ra mỗi giây trong một vòng cập nhật liên tục hoặc các hệ thống cấp thấp mà các chương trình khác dựa vào, như HĐH và VM, v.v.
Nhưng đối với các ứng dụng kinh doanh cấp cao thông thường, điển hình, tại sao hiệu suất lại quan trọng?
Tôi có thể hiểu tại sao nó từng là vấn đề, hàng thập kỷ trước. Máy tính chậm hơn nhiều và có ít bộ nhớ hơn, vì vậy bạn phải suy nghĩ cẩn thận về những điều này.
Nhưng ngày nay, chúng ta có rất nhiều bộ nhớ dự phòng và máy tính rất nhanh: có thực sự quan trọng nếu một thuật toán Java cụ thể là O (n ^ 2) không? Nó sẽ thực sự tạo ra sự khác biệt cho người dùng cuối của ứng dụng kinh doanh điển hình này?
Khi bạn nhấn nút GUI trong một ứng dụng kinh doanh thông thường và đằng sau hậu trường, nó sẽ gọi thuật toán O (n ^ 2), trong những ngày của máy tính hiện đại - bạn có thực sự cảm thấy không hiệu quả?
Câu hỏi của tôi được chia làm hai:
- Trong thực tế, ngày nay hiệu suất có quan trọng trong một chương trình kinh doanh bình thường điển hình?
- Nếu có, xin vui lòng cho tôi ví dụ thực tế về các địa điểm trong một ứng dụng như vậy, trong đó hiệu suất và tối ưu hóa là quan trọng.