быстрое прошедшее время на Linux

Неспособность перенаправить запросы к localhost в VM к localhost хоста теперь испеклась в к Windows ( https://tools.ietf.org/html/rfc6761#section-6.3), включая VM's, доступный в , https://developer.microsoft.com/en-us/microsoft-edge/tools/vms /

Для безопасности обосновывает, что Microsoft теперь предотвращает записи файла хоста для переопределения адреса localhost к чему-либо кроме петлевого адреса:: 1. Так добавление строки файл хоста VM такой как

10.0.2.2 localhost

будет проигнорировано.

существует два пути (что я знаю о) для переопределения этого:

1) использование NETSH к portproxy к хосту

netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=8000 connectaddress=10.0.2.2 connectport=8000

(то, где 10.0.2.2 шлюз по умолчанию на VM и 8000, является портом, к которому Вы хотите решить на хосте.)

2) Установка IIS, чтобы выполнить Маршрутизацию Запроса приложения и затем переписать запросы на localhost:port к hostIP:port

https://docs.microsoft. com/en-us/iis/extensions/configuring-application-request-routing-arr/creating-a-forward-proxy-using-application-request-routing

9
задан 4 September 2009 в 16:01
поделиться

6 ответов

Взгляните на clock_gettime , который обеспечивает доступ к таймерам с высоким разрешением.

9
ответ дан 4 December 2019 в 08:52
поделиться

Если вы используете архитектуру x86 / x64 и работаете на одном процессоре, вы можете рассмотреть возможность чтения счетчика отметок времени на CPU, чтобы получить счетчик циклов. В Википедии есть дополнительная информация . Обратите внимание, что этот подход менее полезен, если ваше приложение работает на нескольких процессорах, поскольку каждый процессор будет иметь свой собственный TSC. Также будьте осторожны с масштабированием частоты, если решите, что хотите преобразовать циклы -> единицы времени.

2
ответ дан 4 December 2019 в 08:52
поделиться

Да, gettimeofday () будет достаточно, если вы хотите узнать фактически истекшее время. Если вам нужно узнать время процессора, вы можете использовать clock (). Во многих случаях оба подхода дадут аналогичный результат (если в коде нет режима сна или какого-либо ожидания). Пример clock () можно найти здесь:
http://www.cs.utah.edu/dept/old/texinfo/glibc-manual-0.02/library_19.html

3
ответ дан 4 December 2019 в 08:52
поделиться

Если ваше ядро ​​поддерживает gettimeofday () как vsyscall (виртуальный системный вызов), то его использование будет быстрее, чем вызов обычного системного вызова, такого как clock () . См. презентацию Андреа Арканджели для получения некоторой информации о том, как работают vsyscalls.

1
ответ дан 4 December 2019 в 08:52
поделиться

Я бы получил время процессора через clock () из time.h . Чтобы получить полезные значения, конвертируйте в миллисекунды через CLOCKS_PER_SEC :

clock_t start = clock();
// [...]
clock_t end = clock();
unsigned long millis = (end - start) * 1000 / CLOCKS_PER_SEC;
9
ответ дан 4 December 2019 в 08:52
поделиться

Немного позднее добавление, однако временная функция, доступная в любом Linux / Unix, может быть более легким способом достижения того, что вы хотите. Вот 2 примера

time ls -l stuff*
ls: stuff*: No such file or directory
    0.01s real     0.00s user     0.00s system


 time -c run_script.csh` 

...

real    1m22.38s
user    0m14.67s
sys     0m1.06s
0
ответ дан 4 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

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