Size: a a a

2020 September 09

RN

Ruslan Neshta in pro.cxx
?
источник

AK

Andrei K in pro.cxx
Elisey Budnitsky
Хотя бы примерно одинаковое, а не с большим разбросом
Большой в относительных величинах жто сколько?
источник

EB

Elisey Budnitsky in pro.cxx
Считать символы из строки
источник

EB

Elisey Budnitsky in pro.cxx
Andrei K
Большой в относительных величинах жто сколько?
В сотни
источник

AK

Andrei K in pro.cxx
И вообще лучше для целей измерения брать performance counter который количество тиков процессора возвращает.
источник

AK

Andrei K in pro.cxx
Elisey Budnitsky
Считать символы из строки
Это может быть настолько быстро, что это измерение не имеет смысла.
источник

AK

Andrei K in pro.cxx
Если строчка в кеше — это наносекунды. Если строчка в свопе на диске — миллисекунды.
источник

AK

Andrei K in pro.cxx
Такой код не имеет смысла инструментировать, если он не в цикле миллион раз исполняется с прогревом.
источник

EB

Elisey Budnitsky in pro.cxx
Мне надо сравнить производительность считывания посимвольно и строки сразу
источник

AK

Andrei K in pro.cxx
Считывания откуда?
источник

AK

Andrei K in pro.cxx
Из файла/из сети/из устройства?
источник

AK

Andrei K in pro.cxx
Но можно без тестов сказать что посимвольно будет медленнее без оптимизаций, с оптимизациями что посимвольно, что непосимвольно будет векторизовано в один и тот же код с какими-нибудь xmm регистрами
источник

EB

Elisey Budnitsky in pro.cxx
Andrei K
Считывания откуда?
из строки
источник

EB

Elisey Budnitsky in pro.cxx
консоли точнее
источник

EB

Elisey Budnitsky in pro.cxx
вот код, который исследовать…

void useArray(void){
   
char s[10000];
   gets(s);
   
for (int i = 0; i < strlen(s); i++){
       
if (s[i] == ' ') {
           s[i] = '$';
       }
   }
   puts(s);
}

void useSymbols(void){
   
char symbol = getchar();
   
while (symbol != '\n') {
       
if (symbol == ' ') {
           symbol = '$';
       }
       printf("%c", symbol);
       symbol = getchar();
   }
   printf("\n");
}
источник

NP

Nikita Provotorov in pro.cxx
Alexander N
Есть следующий вопрос - если бы вы разрабатывали микросервисы, взаимодействующие между собой какой протокол вы бы использовали? И ещё с использованием чего можно достаточно- удобно разрабатывать HTTP(S/2) API?
тут бы требования конкретные не помешали если еще актуально
источник

NP

Nikita Provotorov in pro.cxx
в одном случае пойдет просто жсонами кидаться и у такого подхода есть свои плюсы в виде простоты, скорости реализации + возможность дебажить взаимодействие сервисов через любой сниффер
источник

NP

Nikita Provotorov in pro.cxx
а в другом случае можно уже и в сторону grpc поглядеть
источник

P

Prong in pro.cxx
Elisey Budnitsky
Си, узнать время выполнения кода...

struct timeval stop, start; gettimeofday(&start, NULL);
//Code
gettimeofday(&stop, NULL);
printf("took %lu us\n", (stop.tv_sec - start.tv_sec) * 1000000 + stop.tv_usec - start.tv_usec);


Каждый раз возвращает разное время для одного и того же задания, что не так?
источник

EB

Elisey Budnitsky in pro.cxx
спасибо
источник