Tôi đang làm việc trên một số mã đang chuẩn hóa rất nhiều dữ liệu. Khi kết thúc xử lý, một số cặp key = "value" được ghi vào một tệp. .Triển khai báo giá thoát nhanh nhất?
Các "giá trị" một phần có thể là bất cứ điều gì, vì vậy tại thời điểm đầu ra các giá trị phải có bất kỳ dấu ngoặc kép nhúng thoát như \"
Ngay bây giờ, tôi đang sử dụng như sau:
outstream << boost::regex_replace(src, rxquotesearch, quoterepl);
// (where rxquotesearch is boost::regex("\"") and quoterepl is "\\\\\"")
Tuy nhiên, gprof cho thấy tôi đang chi tiêu hầu hết thời gian thực hiện của mình theo phương pháp này, vì tôi phải gọi nó cho mọi giá trị cho mỗi dòng.
Tôi tò mò nếu có cách nào nhanh hơn. không thể sử dụng std :: thay thế kể từ khi tôi thay thế một ký tự bằng hai.
Cảm ơn lời khuyên nào.
bạn có nên đặt trước.length + 10% hay không? giả sử rằng có ít nhất một báo giá được nhúng, chúng tôi sẽ cần phát triển? – DeusAduro
Vâng, hãy giả vờ với điều đó nếu cần. –
Vì vậy, tôi rất tò mò về nhận xét tôi đã đăng bên dưới. Bất kỳ suy nghĩ tại sao điều này sẽ nhanh hơn xuất ra từng ký tự trực tiếp đến luồng trong vòng lặp for? – Joe