LINUX.ORG.RU

А чем вы профайлите C?

 , , ,


2

2

А я делаю это своим чудо-профайлером! Недавно прикрутил туда создание графов вызовов для graphviz. http://rghost.net/59638419

https://github.com/shamazmazum/vsprofiler

Всё из-за того, что для FreeBSD вроде и не так много альтернатив (только убогий gprof). NetBSD юзерам тоже должен пойти, после небольшой доработки напильником мейк-файлов

Ответ на: комментарий от tailgunner

Если ты не можешь сделать на имеющихся средствах - значит, не надо.

Эти имеющиеся средства иногда приводят к удивительно кривым решениям: к примеру, в позиксе нет wait() с мультиплексированием. Можно SIGCHLD, который нельзя с нитями и еще кое с чем, или по нити на дочерний процесс. Это не круто.

AptGet ★★★
()
Ответ на: комментарий от AptGet

Эти имеющиеся средства иногда приводят к удивительно кривым решениям: к примеру, в позиксе нет wait() с мультиплексированием

Если тебе нужно ждать несколько некооперативных процессов, у тебя уже кривое решение.

tailgunner ★★★★★
()
Ответ на: комментарий от nanoolinux

The name POSIX was suggested by Richard Stallman. It is expected to be pronounced pahz-icks, as in positive, not poh-six, or other variations. The pronunciation has been published in an attempt to promulgate a standardized way of referring to a standard operating system interface.

А в чем проблема? Коллеги так прозносят.

AptGet ★★★
()
Ответ на: комментарий от nanoolinux

А сигмаск и signalfd не пытался заюзать никогда? Я вот всё хочу, только задачи не попадается.

Для этой задачи у меня таргет - OS X, и BSD'шный kevent проблему решает.

AptGet ★★★
()
Ответ на: комментарий от tailgunner

Если тебе нужно ждать несколько некооперативных процессов, у тебя уже кривое решение.

А в чем кривизна заключается? Несколько воркеров, которые делают разное: сканят файлы, реализуют фс. Я тупо не знаю в каком порядке они завершатся, могут и до перезагрузки работать, поэтому подождать по порядку не выйдет.

AptGet ★★★
()
Ответ на: комментарий от AptGet

А в чем кривизна заключается?

В том, что они не сообщают «работу закончил, сейчас вызову exit».

подождать по порядку не выйдет.

Просто для протокола - я этого и не предлагал.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

В том, что они не сообщают «работу закончил, сейчас вызову exit».

Они сообщают через fd, но там кривые 3rdparty библиотеки, которые собственно и делают всю грязную работу. Они могут сегфолтнутся и тогда отряд не заметит потери бойца.

Просто для протокола - я этого и не предлагал.

Это была моя первая, наивная реализация.

AptGet ★★★
()
Ответ на: комментарий от AptGet

Они сообщают через fd, но там кривые 3rdparty библиотеки

Но виноват POSIX %)

Они могут сегфолтнутся и тогда отряд не заметит потери бойца.

Как это не заметит? На fd будет EOF, улавливаемый poll. После чего вызываешь waitpid на pid, соответствующем fd, и узнаешь судьбу потомка.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Но виноват POSIX %)

Ну раз уж в системе не «все - файл», как обещали, то мультиплексирование можно не только для файлов предусмотреть.

Как это не заметит? На fd будет EOF, улавливаемый poll. После чего вызываешь waitpid на pid, соответствующем fd, и узнаешь судьбу потомка.

Спасибо.

AptGet ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.