Браузер результатов Windows Callgrind, альтернатива KCacheGrind [закрыто]

nth-of-type работает в соответствии с индексом того же типа элемента, но nth-child работает только в соответствии с индексом независимо от того, какой тип элементов сиблингов.

Например

<div class="one">...</div>
<div class="two">...</div>
<div class="three">...</div>
<div class="four">...</div>
<div class="five">...</div>
<div class="rest">...</div>
<div class="rest">...</div>
<div class="rest">...</div>
<div class="rest">...</div>
<div class="rest">...</div>

Предположим, что в выше html мы хотим скрыть все элементы, имеющие класс отдыха.

В этом случае nth-child и nth-of-type будут работать точно так же, как и все элементы одного типа, <div>, поэтому css должен быть

.rest:nth-child(6), .rest:nth-child(7), .rest:nth-child(8), .rest:nth-child(9), .rest:nth-child(10){
    display:none;
}

OR

.rest:nth-of-type(6), .rest:nth-of-type(7), .rest:nth-of-type(8), .rest:nth-of-type(9), .rest:nth-of-type(10){
    display:none;
}

Теперь вам должно быть интересно узнать, в чем разница между nth-child и nth-of-type, так что это разница

Предположим, что html is

<div class="one">...</div>
<div class="two">...</div>
<div class="three">...</div>
<div class="four">...</div>
<div class="five">...</div>
<p class="rest">...</p>
<p class="rest">...</p>
<p class="rest">...</p>
<p class="rest">...</p>
<p class="rest">...</p>

В приведенном выше html тип элемента .rest отличается от других .rest - это абзацы, а другие - div, поэтому в этом случае if вы используете nth-child, вы должны писать так

.rest:nth-child(6), .rest:nth-child(7), .rest:nth-child(8), .rest:nth-child(9), .rest:nth-child(10){
    display:none;
}

, но если вы используете nss-тип css, это может быть

.rest:nth-of-type(1), .rest:nth-of-type(2), .rest:nth-of-type(3), .rest:nth-of-type(4), .rest:nth-of-type(5){
    display:none;
}

Как тип Элементом .rest является <p>, поэтому здесь nth-of-type обнаруживает тип .rest, а затем он накладывает css на 1-й, 2-й, 3-й, 4-й, 5-й элементы <p>.

29
задан 14 May 2009 в 15:49
поделиться

7 ответов

alleyoop и valkyrie являются альтернативными интерфейсами.

Может хватить поддержки для того, что вы хотите, вы можете использовать mingw для компиляции под Windows, если SUA не работает «из коробки».

1
ответ дан Alex 14 May 2009 в 15:49
поделиться

Похоже, что WinCacheGrind не может открыть вывод callgrind. Я не пробовал открывать вывод cachegrind, но он должен работать, я думаю. Со страницы Valkyrie (по состоянию на дату) «В настоящее время Valkyrie поддерживает только Memcheck, хотя ведется работа над Cachegrind и Massif».

2
ответ дан CruiZen 14 May 2009 в 15:49
поделиться

Существует новый проект XCallGraph для просмотра файлов cachegrind в Windows.

1
ответ дан nnyby 14 May 2009 в 15:49
поделиться

Я пробовал это:

Они очень похожи, но отличаются в деталях. Я могу порекомендовать QCacheGrind , который наиболее полно упакован и имеет также графическое представление, которое может помочь намного быстрее идентифицировать проблемы.

0
ответ дан Dawid Ferenczy Rogožan 14 May 2009 в 15:49
поделиться

Я скомпилировал kcachegrind для окон, используя QT4.7, вот бинарный пакет (включая утилиту точек для генерации графа вызовов): http://sourceforge.net/projects/precompiledbin/files/kcachegrind.zip / скачать

94
ответ дан Lailin Chen 14 May 2009 в 15:49
поделиться

Вы можете попробовать WinCacheGrind .

7
ответ дан acme 14 May 2009 в 15:49
поделиться

Попробуйте WebGrind: https://github.com/jokkedk/webgrind

Работает на вашем локальном PHP-сервере. Будьте осторожны, используйте профилирование XDebug с флагом XDEBUG_PROFILE, иначе вы рискуете перезаписать результаты профилирования при открытии WebGrind (поскольку WebGrind также является веб-приложением PHP). На сайте WebGrind также подробно описаны другие подходы к решению этой проблемы. Приветствия.

9
ответ дан Pete 14 May 2009 в 15:49
поделиться
Другие вопросы по тегам:

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