Today I looked into “recursive” invocations of make; that is, cases in which a Makefile recipe itself invokes make. The official documentation is quite good, but since I’m working with a range of different GNU Make versions, I looked at how the behavior has changed over time, from GNU Make 3.81 to 4.3.
Nguồn: https://quuxplusone.github.io/blog/2026/09/30/recursive-make-j. 8 Sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Toss, ứng dụng tài chính hàng đầu Hàn Quốc, được chia thành gần 1,000 module. Sử dụng binary cache của Tuist, đội ngũ đã tăng tỷ lệ build local hoàn thành trong dưới 1 phút hơn ba lần. Cụ thể, trước đây chỉ 15% build local đạt dưới 1 phút, nay đã lên tới 50%. Giải pháp này giúp giảm thời gian build từ vài chục phút xuống còn khoảng 1 phút, đáng để học hỏi từ cách họ tối ưu hóa hệ thống module lớn.
Bài viết này giúp lập trình viên hiểu cách tối ưu hóa build time với Tuist's binary cache cho dự án module hóa lớn.
Đang tải bình luận…
Tác giả tạo ra buildprof - một công cụ tracing mã nguồn mở giúp phân tích thời gian biên dịch phần mềm trên Linux. Công cụ này hiển thị chi tiết quá trình xử lý của các tasks trong build process, ví dụ như khi build ripgrep. Nguyên nhân kỹ thuật gây ra compile time chậm thường nằm ở các task I/O blocking hoặc quá nhiều worker threads. Hệ quả là developers có thể identify bottleneck và optimize build performance một cách hiệu quả. Điều đáng học là kỹ thuật tracing và visualization giúp tối ưu hóa performance trong Rust projects, đặc biệt với frameworks như Bun.
Công cụ buildprof giúp lập trình viên hiểu rõ cách thời gian biên dịch được phân bổ khi sử dụng Bun.
Bài viết nghiên cứu xem có thể cải thiện lịch trình của Cargo không bằng cách theo dõi syscall trong 17 dự án Rust thực tế để dựng lại đồ thị phụ thuộc và chạy lại dưới các lịch trình thay thế. Họ thử nghiệm một lịch trình b-level (bottom-level) ưu tiên các nhiệm vụ trên đường đi quan trọng, cho thấy nó vượt qua lịch trình mặc định của Cargo, giảm trung bình khoảng 8% thời gian wall tại 4 nhân và khoảng 2% tại 16 nhân, và đạt khoảng 1,3% so với mức tối ưu giả định. Thử nghiệm thêm cho thấy lịch trình này vẫn hoạt động tốt ngay cả khi ước lượng thời gian có nhiễu, và chỉ cần một bit thông tin (ngắn vs dài) hoặc chỉ dựa vào độ sâu của đồ thị cũng thường tốt hơn Cargo mặc định, mặc dù đuôi kết quả kém hơn. Kết quả gợi ý rằng việc lưu trữ một cơ sở dữ liệu cục bộ hoặc chia sẻ các cờ thời gian biên dịch của crate có thể nâng cấp lịch trình Cargo mà không cần dữ liệu thời gian chính xác.
Nghiên cứu này cho thấy một trình lập lịch đơn giản dựa trên đường dẫn phản ứng có thể tăng tốc thời gian biên dịch Rust lên đến 8% mà không cần dữ liệu thời gian chính xác.
Gradle đang điều chỉnh để tương thích tốt hơn với các coding agent, do đó họ quyết định không kích hoạt sẵn Configuration Cache trong phiên bản Gradle 10. Đây là sự đánh đổi nhằm tối ưu hóa trải nghiệm cho các tác nhân tự động.
Lập trình viên cần đọc bài này để hiểu cách Gradle 10 đã điều chỉnh cơ chế Cache cấu hình để tối ưu hóa hiệu suất cho các công cụ lập trình tự động (coding agents) mà không ảnh hưởng quá lớn đến hiệu năng truyền thống của dự án.
C++26 đưa ra ba cải tiến quan trọng để giải quyết các vấn đề khiến việc áp dụng modules trong C++20 bị chậm lại. Modules trong C++20 thiếu hỗ trợ từ build system và có sự khác biệt trong các triển khai compiler, gây ra nhiều khó khăn cho người dùng. Các cải tiến này tập trung vào việc giảm bớt những cản kỹ thuật không cần thiết trong thiết kế ban đầu. Nếu bạn đang làm việc với C++ và quan tâm đến cách tổ chức code hiệu quả hơn, những cải tiến này sẽ giúp đơn giản hóa quá trình sử dụng modules. Sự thay đổi này có thể ảnh hưởng đáng kể đến cách chúng ta viết và quản lý dự án C++ trong tương lai.
Bài viết này giải thích những cải tiến quan trọng của C++26 giúp khắc phục điểm yếu của module C++20 và thúc đẩy việc áp dụng công nghệ này.
Tuist đang phát triển thành hạ tầng build tích dọc cho các công cụ Xcode, Gradle và Bazel. Việc tích hợp này bao gồm phân tích, caching, thực thi và sở hữu phần cứng để tối ưu hóa quy trình build. Giải pháp này giúp giảm thời gian build nhờ cơ chế caching thông minh và tối ưu hóa tài nguyên. Lập trình viên nên tìm hiểu thêm về cách Tuist quản lý build pipeline và tích hợp CI/CD để cải thiện hiệu suất dự án.
Tuist cung cấp giải pháp build tích hợp dọc toàn diện giúp lập trình viên tối ưu hóa quy trình xây dựng ứng dụng iOS và Android.
MSBuild là nền tảng build mạnh mẽ của Microsoft thường ẩn sau giao diện IDE. Nó sử dụng hệ thống dựa trên XML với file project (.csproj) định nghĩa cấu trúc build. Việc hiểu MSBuild giúp kiểm soát quy trình build tốt hơn, vượt ra ngoài những gì giao diện đồ họa cung cấp. Lập trình viên .NET nên học MSBuild để tùy biến và tự động hóa quy trình build phức tạp, tối ưu hóa hiệu năng dự án. Kiến thức này đặc biệt hữu ích khi làm việc với CI/CD pipeline hay xử lý các vấn đề build phức tạp mà IDE không giải quyết được.
Bài viết giúp lập trình viên khám phá sức mạnh thực sự của MSBuild đằng sau giao diện IDE quen thuộc.
Tuist now supports Bazel remote caching and insights. Here's how we got there, from a low-latency cache network to the protocols Bazel speaks.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000+ bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thử