Tôi đang chơi xung quanh với study, một tính năng Perl để kiểm tra một chuỗi để làm cho biểu thức thông thường sau đó có khả năng nhanh hơn nhiều:Tình huống nào được hưởng lợi từ nghiên cứu của Perl?
while(<>) {
study;
$count++ if /PATTERN/;
$count++ if /OTHER/;
$count++ if /PATTERN2/;
}
Có không nhiều nói về những tình huống sẽ được hưởng lợi từ điều này. Một số điều bạn có thể trêu chọc ra khỏi the docs:
- Patterns với các hằng xâu
- Nhiều mẫu
- chuỗi mục tiêu ngắn hơn có thể được tốt hơn (mất ít thời gian hơn để nghiên cứu)
Tôi tìm kiếm các trường hợp cụ thể, nơi tôi không chỉ có thể chứng minh một lợi thế lớn, nhưng cũng có trường hợp mà tôi có thể hơi tinh chỉnh để mất lợi thế đó. Một trong các cảnh báo trong số the docs là bạn nên đánh giá các trường hợp riêng lẻ. Tôi muốn tìm một số các trường hợp cạnh mà một sự khác biệt nhỏ trong một chuỗi (hoặc mẫu) làm cho một sự khác biệt lớn trong hiệu suất.
Nếu bạn chưa sử dụng study, vui lòng không trả lời. Tôi muốn có câu trả lời chính xác đúng hơn thay vì đoán nhanh. Không có sự khẩn cấp ở đây, và điều này không giữ được bất kỳ công việc nào.
Và, như một phần thưởng, tôi đã chơi với một công cụ đo điểm chuẩn so sánh hai lần chạy NYTProf, mà tôi muốn sử dụng hơn công cụ đo điểm chuẩn thông thường. Nếu tôi nghĩ ra một cách để tự động hóa điều đó, tôi cũng sẽ chia sẻ điều đó.
Tôi * đã * sử dụng 'nghiên cứu', có hay không tôi * nên * đã sử dụng 'nghiên cứu' có lẽ là một phần của vấn đề bạn đang gặp phải. – Axeman
Kết quả nghiên cứu của bạn là gì? –
Tôi không có kết quả. Tôi đã không quan tâm đủ để làm việc ra các mã, đặc biệt là kể từ khi nó chỉ hoạt động cho các chuỗi ASCII. –