में काले और सफेद आउटपुट को कैसे बल दें मैं एक्सकोड में Google बेंचमार्क का उपयोग कर रहा हूं और यह किसी कारण से रंगीन आउटपुट का उत्पादन कर रहा है। चूंकि एक्सकोड रंगीन आउटपुट का समर्थन नहीं करता है, इसलिए मैं अवांछित प्रतीकों को देख रहा हूं। मैं सोच रहा था कि क्या Google बेंचमार्क में काले और सफेद आउटपुट को मजबूर करना संभव है। मैं उन उत्तरों को पसंद करता हूं जो उनके एपीआई का उपयोग करते हैं लेकिन मैं अन्य विकल्पों के लिए खुला हूं। गूगल बेंचमार्क कीGoogle बेंचमार्क
उत्तर
रंग उत्पादन अपने रीडमी में बताया गया है: https://github.com/google/benchmark#output-formats
आउटपुट स्वरूप
पुस्तकालय कई उत्पादन प्रारूपों का समर्थन करता। प्रारूप प्रकार सेट करने के लिए
--benchmark_format=<console|json|csv>
ध्वज का उपयोग करें। कंसोल डिफ़ॉल्ट प्रारूप है।कंसोल प्रारूप मानव मानव पठनीय प्रारूप होने का इरादा है। डिफ़ॉल्ट रूप से प्रारूप रंग आउटपुट उत्पन्न करता है। संदर्भ stderr और stdout पर सारणीबद्ध डेटा पर आउटपुट है।
वहाँ भी उत्पादन --benchmark_out=file --benchmark_out_format=console
साथ फाइल करने के लिए गैर-रंग प्रतिलिपि सहेजने के लिए विकल्प (डिफ़ॉल्ट json है)
पुस्तकालय एक फ़ाइल
--benchmark_out=<filename>
द्वारा निर्दिष्ट करने के लिए बेंचमार्क के उत्पादन में लेखन का समर्थन करता है है। आउटपुट का प्रारूप--benchmark_out_format={json|console|csv}
का उपयोग करके निर्दिष्ट किया जा सकता है। निर्दिष्ट करना --benchmark_out कंसोल आउटपुट को दबा नहीं देता है।DEFINE_string(benchmark_color, "auto", "Whether to use colors in the output. Valid values: " "'true'/'yes'/1, 'false'/'no'/0, and 'auto'. 'auto' means to use " "colors if the output is being sent to a terminal and the TERM " "environment variable is set to a terminal type that supports " "colors.");
तो, आप use
--benchmark_color=false
as suggested by Artemy (आवरण खोल स्क्रिप्ट का उपयोग) कर सकते हैं, या के साथ "सांत्वना उत्पादन पारित करने के लिए प्रयास करें:
और कार्यान्वयन में वे सांत्वना रंग निष्क्रिय करने के लिए झंडा है बेकार बिल्ली पैटर्न ":
./program | cat
इसेसेट करना चाहिए ऑटो-रंग डिफ़ॉल्ट मोड में(यह चाल रंग grep अक्षम करने के लिए काम करता है)।
या इंगित करने के लिए आप हरे और काले रंग की सीआरटी मॉनिटर है export TERM=ansi
के साथ अपने अवधि env चर बदलने के लिए: https://github.com/google/benchmark/blob/09b93ccc6a9aed84c269b6f5b8130c878e518ebb/src/colorprint.cc#L167
// ... This list of
// supported TERM values is copied from Google Test:
// <https://github.com/google/googletest/blob/master/googletest/src/gtest.cc#L2925>.
const char* const SUPPORTED_TERM_VALUES[] = {
"xterm", "xterm-color", "xterm-256color",
"screen", "screen-256color", "tmux",
"tmux-256color", "rxvt-unicode", "rxvt-unicode-256color",
"linux", "cygwin",
};
लेकिन |cat
साथ और export TERM=ansi
gbench रंग उत्पन्न करने के लिए जारी है। यह एक बग होना चाहिए (!!!)GetOutputOptions
के पास है, जिससे IsColorTerminal() तर्क "ऑटो" के मामले में एक NOOP, तो "ऑटो" मोड वास्तव में ऑटो यह हमेशा सक्षम है नहीं है:
ConsoleReporter::OutputOptions GetOutputOptions(bool force_no_color) {
int output_opts = ConsoleReporter::OO_Defaults;
if ((FLAGS_benchmark_color == "auto" && IsColorTerminal()) ||
IsTruthyFlagValue(FLAGS_benchmark_color)) {
output_opts |= ConsoleReporter::OO_Color;
} else {
output_opts &= ~ConsoleReporter::OO_Color;
}
IsTruthyFlagValue डिफ़ॉल्ट मान "ऑटो" को सही मानता है, और हमेशा रंग आउटपुट सक्षम करता है, भले ही टर्मिनल इसका समर्थन नहीं करता है!
bool IsTruthyFlagValue(const std::string& value) {
if (value.empty()) return true;
char ch = value[0];
return isalnum(ch) &&
!(ch == '0' || ch == 'f' || ch == 'F' || ch == 'n' || ch == 'N');
}
यहाँ ऑटो मोड सक्षम करने के पैच, (|cat
और TERM=ansi ./program
और कुछ IDEs जो सही ढंग से सावधि सेट के साथ शायद के साथ काम करेंगे) गिर पुल अनुरोध करने के लिए स्वतंत्र है:
--- a/src/benchmark.cc
+++ b/src/benchmark.cc
@@ -555,7 +555,8 @@ bool IsZero(double n) {
ConsoleReporter::OutputOptions GetOutputOptions(bool force_no_color) {
int output_opts = ConsoleReporter::OO_Defaults;
if ((FLAGS_benchmark_color == "auto" && IsColorTerminal()) ||
- IsTruthyFlagValue(FLAGS_benchmark_color)) {
+ (FLAGS_benchmark_color != "auto" &&
+ IsTruthyFlagValue(FLAGS_benchmark_color))) {
output_opts |= ConsoleReporter::OO_Color;
} else {
output_opts &= ~ConsoleReporter::OO_Color;
बग 0de985ae9d4ea1582125a5414a99ca90c368ca10 https://github.com/google/benchmark/commit/0de985ae9d4ea1582125a5414a99ca90c368ca10 द्वारा 1.2.0 संस्करण में प्रस्तुत प्रतिबद्ध (biojppm जोआओ पाउलो मागाल्हेस मार्च 2 2017 प्रतिबद्ध) - पुराने तर्क केवल जब रंग विकल्प नहीं है IsTruthyFlagValue का उपयोग किया गया ऑटो। https://github.com/google/benchmark/commit/0de985ae9d4ea1582125a5414a99ca90c368ca10#diff-5cd986c2288650e5c5d336b92dcfafd1L549 – osgx
- 1. बेंचमार्क
- 2. बेंचमार्क
- 3. MySQL बेंचमार्क
- 4. विभिन्न Google ऐप इंजन डेटास्टोर परिचालनों के लिए बेंचमार्क?
- 5. टीसीपी बनाम। एचटीपी बेंचमार्क
- 6. बेंचमार्क फ्रेमवर्क सी ++
- 7. बेंचमार्क: बीएसओएन बनाम JSON
- 8. बेंचमार्क UIView drawRect: विधि
- 9. वेब अनुप्रयोग प्रदर्शन बेंचमार्क
- 10. जावा वृद्धि बेंचमार्क
- 11. क्या अब अपाचे बेंचमार्क
- 12. कृत्रिम तंत्रिका नेटवर्क बेंचमार्क
- 13. रेगेक्स लाइब्रेरी बेंचमार्क
- 14. स्मार्टी बेंचमार्क, कोई भी?
- 15. अपाचे बेंचमार्क HTTPS
- 16. आईफोन परीक्षण स्वचालन - बेंचमार्क उपकरण?
- 17. एएसपी.नेट सत्र राज्य प्रदर्शन बेंचमार्क
- 18. इकाई फ्रेमवर्क 5.0 बेंचमार्क टेस्ट
- 19. स्केपर बेंच/बेंचमार्क कमांड त्रुटियां
- 20. अमरूद कैश बनाम ehcache बेंचमार्क
- 21. बेंचमार्क और सी # और जावा
- 22. रूबी में बेंचमार्क या समय
- 23. आईआईएस 6.0 वाइल्डकार्ड मैपिंग बेंचमार्क?
- 24. जावा का बेंचमार्क आज़माएं/कैच ब्लॉक
- 25. आभासी मशीनों का बेंचमार्क कैसे करें
- 26. Matlab प्रक्रियाओं को बेंचमार्क कैसे करें?
- 27. टेन्सफोर्लो परीक्षण के लिए स्पीड बेंचमार्क
- 28. क्लोजर में फ़ंक्शंस को कैसे बेंचमार्क करें?
- 29. डीआई/आईओसी कंटेनर प्रदर्शन बेंचमार्क तुलना?
- 30. प्रदर्शन बेंचमार्क CouchDB x संबंधपरक डेटाबेस
आप निम्नलिखित की कोशिश की है पैरामीटर --benchmark_color = {auto | true | false}? –
बढ़िया! वह चाल है। क्या आपको पता है कि सीएमके से निर्दिष्ट करने का कोई तरीका है? @ArtemyVysotsky – German
@Artemy Vysotsky सही सुझाव लागू करने के लिए, आप स्क्रिप्ट बना सकते हैं जो सही पैरामीटर के साथ बेंचमार्क निष्पादन योग्य कहता है। आप उस फ़ाइल को अपने संस्करण नियंत्रण में भी कर सकते हैं और उसके बाद cmake प्रतिलिपि उस फ़ाइल को अपनी बिल्ड निर्देशिका में कॉपी कर सकते हैं। Cmake कमांड [config_file] देखें (https://cmake.org/cmake/help/latest/command/configure_file.html) –