Как выполнить Valgrind параллельно с нашим процессом, таким образом, его производительность не уменьшается слишком много?

Действительно ли возможно, что узлы проекта не являются дочерними узлами, но внуками или ниже? GetElementsByTagName даст Вам элементы отовсюду в дочернем дереве элемента, IIRC.

5
задан red.clover 27 September 2009 в 13:30
поделиться

4 ответа

It's worth noting that Valgrind, while supporting multi-threaded programs, will not actually run the program's threads in parallel if you have multiiple cores available. It also interleaves threads at a finer grain than the native OS scheduler. These 2 facts combined might make it so a program with race conditions or other concurrent anomalies will behave differently.

You may want to try Helgrind, a tool primarily aimed at detecting correct locking discipline and drd, a tool primarily aimed at detecting data races.

5
ответ дан 18 December 2019 в 11:58
поделиться

This is not directly answering your question, but if you suspect a synchronization error, have you tried using the Valgrind tool Helgrind?

1
ответ дан 18 December 2019 в 11:58
поделиться

You can't do that. Valgrind doesn't actually execute your code natively - instead it runs it inside a simulator. That's why it's so slow. So, there's no way to make it run faster, and still get the benefit of Valgrind.

Your best bet is to set the ulimit so that your program generates a core file when it crashes. Then you can try to work out what the problem was by examining the core.

9
ответ дан 18 December 2019 в 11:58
поделиться

ActivityManager # getRunningAppProcesses () возвращает список RunningAppProcessInfo . Каждое поле RunningAppProcessInfo имеет значение. значение RunningAppProcessInfo.IMPRESSION _ FOREROUND показывает, какая активность активно наблюдается пользователем. Существует также RunningAppProcessInfo.IMPRESSION _ VISIBLE , который ниже, но, возможно, стоит взять на изменение.

-121--963502-

Не оптимизируйте использование анекдотических доказательств. Получите несколько жестких чисел, а затем определите, существует ли проблема для вас.

Обычно я бы сказал, что это не проблема для меня нигде - но я не скачаю эти сборки по запросу через HTTP по ненадежным ссылкам, на сервере с низкой памятью - ваш вариант использования может быть другим.

-121--3866222-

Valgrind работает путем подключения к вызовам malloc, поэтому вы можете ожидать, что ваша программа будет работать медленнее под valgrind. Таким образом, я бы сказал, что вы не могли запустить свою программу быстрее под valgrind и получить выгоду от анализа ошибок памяти.

0
ответ дан 18 December 2019 в 11:58
поделиться
Другие вопросы по тегам:

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