From: Jonathan Nieder Date: Tue, 21 Aug 2012 05:24:04 GMT Subject: Re: [PATCH] Build in gettext poison feature unconditionally Message-ID: <20120821052404.GB55686@mannheim-rule.local> In-Reply-To: <1345523970-14914-1-git-send-email-pclouds@gmail.com> Nguyễn Thái Ngọc Duy wrote: > The runtime cost should be small. "gcc -O2" inlines _() and > use_gettext_poison(). But even if it does not, performance should not > be impacted as _() calls are usually not on critical path. If some of > them are, we better fix there as gettext() may or may not be cheap > anyway. That seems reasonable to me. The increase in code size of a commonly inlined function and the extra "if" in a common if not performance-critical codepath is annoying (and I'd prefer to keep use_gettext_poison() un-inlined), but in any event the cost would go away once the translation-based implementation of poison lands. [...] > I don't know the story behind this compile-time switch. The series [1] > that introduces it does not say much. I think it was just paranoia about performance regressions. > This at least makes it easier for me to run poison tests instead of > building another binary, if I remember it. Next step could be make > "make test" run both normal and poison modes, but I'm not sure how to > do it nicely yet. Yes, that would be nice (or perhaps a mode to run most tests in the current locale and rerun test assertions that use a test_i18n* helper or C_LOCALE_OUTPUT prerequisite in the C locale). Hope that helps, Jonathan