Отслеживание времени выполнения задачи в C (игнорирование времени приостановлено)

im, предполагая, что вы не подключены к этой структуре html. поэтому я бы не только использовал элементы списка, чтобы отображать эту серию элементов, но я бы также обернул каждый раздел из них в теги span. Перк для этого решения заключается в том, что вы не заблокированы в произвольной ширине для левого и правого секций (вам просто нужно беспокоиться о ширине дефиса)

js fiddle: http: // jsfiddle .net / seLvC / 8 /

HTML

  • lopen - ik loop
  • klimmen - ik klim
  • geven - ik geef
  • schreeuwen - ik schreeuw
  • blozen - ik bloos

CSS

*,
*:before,
*:after{
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
.progress-ww {
  font-size: 0.8rem;
  line-height:0.8rem;
  text-align:center;
}
ul{
    list-style-type:none;
}
    ul li{
        width:100%;
        position: relative;
    }
        ul li span{
            position: absolute;
            right:0;
            left:50%;
            text-align:left;
            padding-left:5px;
            display:inline-block;
        }
        ul li span:first-child{
            position: absolute;
            left:0;
            right:50%;
            text-align:right;
            padding-right:5px;
            display:inline-block;
        }
.hyphen{
    display:inline-block;
    width:10px;
}

EDIT: удалить класс дефиса и скорректировать порядок css для Совместимость IE8 - благодаря GCyrillus для предложения

1
задан Mr.Mips 20 February 2019 в 13:09
поделиться

1 ответ

Измените CLOCK_REALTIME на CLOCK_PROCESS_CPU_TIME.
использование sleep() занимает несколько секунд, чтобы накопить небольшое количество процессорного времени.

#include <stdio.h>
#include <unistd.h>
#include <time.h>
#define BILLION 1E9
int main ( void) {
    double executionTime = 0.0001;

    double  elapsedTime = -1;
    double  elapsedTimertc = -1;

    struct timespec startrtc;
    struct timespec start;
    struct timespec currentrtc;
    struct timespec current;

    clock_gettime(CLOCK_REALTIME, &startrtc);
    clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);

    for (;;)
    {
        sleep ( 1);
        clock_gettime(CLOCK_REALTIME, &currentrtc);
        clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &current);

        elapsedTime = (current.tv_sec - start.tv_sec) + ((current.tv_nsec - start.tv_nsec) / BILLION);
        elapsedTimertc = (currentrtc.tv_sec - startrtc.tv_sec) + ((currentrtc.tv_nsec - startrtc.tv_nsec) / BILLION);

        if (elapsedTime >= executionTime)
        {
            break;
        }
    }
    printf ( "elapsed time %f\n", elapsedTime);
    printf ( "elapsed time %f\n", elapsedTimertc);
}
0
ответ дан xing 20 February 2019 в 13:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: