Анализ файла MAP - где мой размер кода, прибывает из?

printf "%s\n" *.filtered.vcf |
cut -d. -f1 |
sort |
xargs -n1 sh -c 'printf "%s\t%s\t%s\n" "$1" "$(wc -l <"${1}.vcf")" "$(wc -l <"${1}.filtered.vcf")"' -- 
  1. Вывести список файлов, разделенных символом новой строки, в каталоге
  2. Удалить расширение с помощью cut (возможно, что-то вдоль xargs -i basename {} .filtered.vcf будет безопаснее)
  3. Сортировать его хороший отсортированный вывод!) (возможно, что-то в sort -tr -k2 -n будет отсортировано численно и будет еще лучше).
  4. xargs -n1 Для каждого файла выполнить скрипт sh -c
    1. printf "%s\t%s\t%s\n" - вывод со строкой нестандартного формата ...
    2. "$1" - имя файла и ...
    3. "(wc -l <"${1}.vcf")" - подсчитать количество строк в файле .vcf и ...
    4. "$(wc -l <"${1}.filtered.vcf")" - количество строк в .filtered.vcf

Пример:

> touch chr{1..3}{,.filtered}.vcf 
> echo > chr1.filtered.vcf ; echo  > chr2.vcf ; 
>     printf "%s\n" *.filtered.vcf |
>    cut -d. -f1 |
>    sort |
>    xargs -n1 sh -c 'printf "%s\t%s\t%s\n" "$1" "$(wc -l <"${1}.filtered.vcf")" "$(wc -l <"${1}.vcf")"' -- 
chr1    0   1
chr2    1   0
chr3    0   0

Чтобы иметь красивую таблицу с заголовки, используйте column:

> .... | column -N Chromosome,VCFCount,FilteredVCFCount -t -o '    '
Chromosome    VCFCount    FilteredVCFCount
chr1          0           1
chr2          1           0
chr3          0           0
10
задан peterchen 23 February 2009 в 11:25
поделиться

3 ответа

Никакое предложение для инструмента, но предположение относительно возможной причины: Вам включали пошаговую компоновку? Это может вызвать расширение во время последующих сборок...

Компоновщик разделит неиспользованные символы, если Вы скомпилируете с/opt:ref, поэтому если бы Вы используете это и не используете пошаговую компоновку, я ожидал бы, что расширение двоичных файлов будет только результатом фактического нового добавляемого кода. Это - насколько я знаю... надежду, она помогает немногому.

1
ответ дан 3 December 2019 в 23:15
поделиться

Файл карты должен иметь размер каждого раздела, можно записать быстрый инструмент для сортировки символов по этому размеру. Существует также инструмент командной строки, который идет с MSVC (undname.exe), который можно использовать для demangle символы.

После того как Вам отсортировал символы по размер, можно генерировать этот еженедельник или ежедневно как Вы любите и выдерживаете сравнение, как размер каждого символа изменялся со временем.

Один только файл карты от любой единственной сборки не может сказать очень, но историческое сообщение о скомпилированных файлах карты может сказать Вам вполне немного.

2
ответ дан 3 December 2019 в 23:15
поделиться

Have you tried using dumpbin.exe on your .obj files?

Stuff to look for:

  • Using a lot of STL?
  • A lot of c++ classes with inline methods?
  • A lot of constants?

If anything of the above applies to you. Check if they have a wide visibility, i.e. if they are used/seen in large parts of your application.

2
ответ дан 3 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

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