vak: (Default)
[personal profile] vak
Взял пустую Си-шную программу "int main() {}". Скомпилировал статически под Линуксом. Прогнал через valgrind, получил профиль выполнения. Отрисовал граф вызовов с помощью qcachegrind.
gcc -g -Os -static empty.c -o empty
valgrind --tool=callgrind --dump-instr=yes --collect-jumps=yes ./empty
qcachegrind callgrind.out.*
Вот как эта халабуда выглядит.



Какие-то непонятные tunables сжирают время, и get_cie_encoding неясно что такое.

Под FreeBSD картина несколько яснее. И эффективнее: BSD-шная библиотека за 75471 процессорных инструкций супротив 170979 в Линуксе. Это на архитектуре x86_64.

Date: 2024-12-21 16:22 (UTC)
From: [personal profile] dedekha
Кого это может взволновать в мире, который программирует на питоне, джаве, и джава-скрипте?

Date: 2024-12-22 13:00 (UTC)
From: [personal profile] dedekha
C++ дворник никого не выгнал.

Кстати, по моим не научным наблюдениям массовый программист не способен писать большие программы на с++ без тысяч предупреждений и сотен cast-ов. Это означает что массовый программист просто не способен что-либо сделать на rust. Питонизация всего на свете будет продолжаться пока она не упрется в то, что массовый программист не способен писать maintainable код на питоне, но до этого момента еще лет 10.