1. Cụ max rảnhCòn về ý cấu trúc dữ liệu và gỉai thuật có đủ không thì thực ra là.. không đủ. Em nghĩ cái CPU cũng như một chiếc xe ô tô của mình, mình phải hiểu được từng bộ phận trong nó thì mới có thể lái nó tốt nhất được. Em lấy ví dụ từ em thì nhiều lần em đã phải ngồi soi bytecode sinh ra từ jvm, phân tích xem tại sao nó lại không tối ưu hay method không inline được (to hơn 20 byte?), hay tính toán bố trí memory layout như thế nào để accessing được lẹ nhất rồi tính working set có vừa với cache của CPU không. Có thể cả hai thuật toán đều là O(C*n) nhưng C gấp đôi hay gấp ba nhau cũng là vấn đề lớn rồi.
(em chém thế thôi chứ thực ra em thích tối ưu chương trình cho vui thôi chứ em cũng chưa được đụng đến những hệ thống thật sự cần những cái tối ưu kiểu đó)
2. Việc cụ làm chỉ có ích nếu cụ là chính là người lập trình cho JVM. Còn nếu cụ thực sự quan tâm đến performance cụ đã không chọn Java mà chọn C/C++
Trong lập trình kiến trúc và code đơn giản, mạch lạc, dễ hiểu, dễ quản lý nâng cấp quan trọng hơn performance rất nhiều. Nói nôm na là "nếu bạn hi sinh sự đơn giản nhằm đạt được tốc độ thì bạn sẽ chẳng đạt được cái gì cả". Note thêm em là một trong những thằng lập trình quan tâm đến performance số một ở VN.
Sáng mai em đăng ký qua ngồi cafe giao lưu với các cụ.