Hướng dẫn javascript string concatenation performance - hiệu suất nối chuỗi javascript
Khi chúng ta mã JavaScript, đôi khi chúng ta cần kết hợp các chuỗi với nhau. Ngắn và một số chuỗi là tốt, nhưng khi nói đến dài và nhiều chuỗi như chuỗi HTML, mọi thứ khá khác nhau. Show Phương thức của chuỗi ConcatChỉ cần sử dụng ‘+=, để làm một concat. var strA = '...', // large string Sử dụng var strA = '...', // large string Sử dụng chỉ mục mảng và var strA = '...', // large string Như bạn có thể thấy, ba phương pháp chính đều dễ dàng mã. Nhưng làm thế nào về hiệu suất của họ? Hãy cùng kiểm tra nào. Hiệu suất của các phương phápXem, trong NodeJS, chúng tôi có thể sử dụng var strA = '...', // large string 0 để có được thời gian của toàn bộ quá trình. Nếu chúng ta chạy phương thức càng nhiều càng tốt, thời lượng chúng ta nhận được sẽ chính xác hơn. Vì vậy, hãy để thử nó.function method1(times) { Và đầu ra là: # Run string concat in 100 tests with 1000000 concat loops Kết quả kiểm traMột số thử nghiệm của ba phương pháp*: Bài kiểm tra này không được đề xuất! Mac của tôi mất gần một giờ để có được dòng kết quả đầu tiên của phương thức1. Đừng thử điều này trừ khi bạn muốn lãng phí thời gian.almost an hour to get the first result line of Method1. DO NOT try this unless you want to waste time. Từ bảng, chúng ta có thể thấy rằng cả thời gian vòng lặp và độ dài chuỗi đơn không ảnh hưởng đến thời gian thực hiện. Yếu tố duy nhất là thời gian liên kết.
Còn gì nữa?Các bài kiểm tra để tìm ra ngưỡngVì vậy, trong vòng 413.085 lần của Concat, sử dụng ‘+=, có hiệu suất tương tự như sử dụng Lưu ý thời gian thực hiện phụ thuộc vào máy của bạn và rất nhiều yếu tố khác. Những dữ liệu này chỉ là ví dụ và bạn không nên coi chúng là một tiêu chuẩn. the duration of execution depends on your machine and a lot of other factors. These data are just examples and you should not regard them as a standard. Sự kết luậnTheo thử nghiệm, chúng tôi thấy sử dụng ‘+=, khi hoạt động không quá nhiều chuỗi. Và nó có thể nhanh hơn để sử dụng Và nếu bạn muốn tìm hiểu lý do tại sao tốc độ của các phương pháp này khác nhau, bạn có thể đọc mã gốc của công cụ JavaScript như Google V8. Cảm ơn vì đã đọc. |