carlosgalvezp added a comment. Thank you for the contribution! Looks good in general, have minor comments.
================ Comment at: clang-tools-extra/docs/clang-tidy/checks/performance/avoid-endl.rst:1 +.. title:: clang-tidy - performance-avoid-endl + ---------------- Please wrap file to 80 chars ================ Comment at: clang-tools-extra/docs/clang-tidy/checks/performance/avoid-endl.rst:9 +Rationale: +Using ``std::endl`` on iostreams can be less efficient than using the newline character ``'\n'`` because ``std::endl`` performs two operations: it writes a newline character to the output stream and then flushes the stream buffer. Writing a single newline character using ``'\n'`` does not trigger a flush, which can improve performance. In addition, flushing the stream buffer can cause additional overhead when working with streams that are buffered. + ---------------- Nit: maybe document the rationale for using `'\n'` instead of `"\n"`? Readability-wise it's more consistent to always use double-quotes. ================ Comment at: clang-tools-extra/docs/clang-tidy/checks/performance/avoid-endl.rst:23 + +The ``std::endl`` on line 4 performs two operations: it writes a newline character to the ``std::cout`` stream and then flushes the stream buffer. This can be less efficient than using the newline character ``'\n'`` instead: + ---------------- The rendering does not display lines numbers so this can be confusing. I believe we can just omit it - it's clear what it's referring too. ================ Comment at: clang-tools-extra/docs/clang-tidy/checks/performance/avoid-endl.rst:23 + +The ``std::endl`` on line 4 performs two operations: it writes a newline character to the ``std::cout`` stream and then flushes the stream buffer. This can be less efficient than using the newline character ``'\n'`` instead: + ---------------- carlosgalvezp wrote: > The rendering does not display lines numbers so this can be confusing. I > believe we can just omit it - it's clear what it's referring too. This is repetition of the Rationale on line 8, I would just remove it and say "this gets transformed into:" ================ Comment at: clang-tools-extra/test/clang-tidy/checkers/performance/avoid-endl.cpp:47 + std::cout << "World" << std::endl; + // CHECK-MESSAGES: :[[@LINE-1]]:27: warning: do not use std::endl with iostreams; use '\n' instead + std::cerr << "World" << std::endl; ---------------- Use CHECK-FIXES to also test the fixes. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148318/new/ https://reviews.llvm.org/D148318 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits