Есть ли язык программирования, который все измеряет?
Например, я хотел бы измерить, сколько памяти было выделено, количество использованных операций (с точки зрения циклов) и время, затраченное на ввод-вывод.
Такой язык отлично подходит для проведения соревнований по программированию.
2 ответа
Вы можете рассмотреть возможность запуска программы, скомпилированной / интерпретируемой существующим языком, с помощью такого инструмента, как ValGrind, который может сообщать о таких факторах. При необходимости вы можете расширить ValGrind.
Похоже, вам нужен инструмент , не обязательно язык. Я использую инструменты профилирования, чтобы делать подобные вещи со встроенными программами C. У вашего поставщика компилятора могут быть аналогичные инструменты.
Операционная система отвечает за управление памятью, поэтому, вероятно, проще всего заставить ОС сообщить вам об этом. Другой вариант - написать библиотеку, которую должны использовать участники, которая строит оболочки вокруг malloc
и т. Д. Когда вызывается malloc
библиотеки, она регистрирует, сколько памяти было выделено, и вызывает реальный malloc
}. После завершения программы у вас будет полный журнал использования динамической памяти программой. Вы также можете написать оболочки для функций ввода-вывода, которые регистрируют задержку этих функций (используйте временную метку перед вызовом реальной функции и после ее завершения).
Похожие вопросы
Новые вопросы
programming-languages
Язык программирования - это искусственный язык, предназначенный для выражения вычислений, которые могут быть выполнены машиной. ** Обратите внимание: ** Как и в других случаях, когда речь идет о переполнении стека, запросах рекомендаций по ресурсам и учебным материалам, запросах списков вещей («в каких языках есть эта функция ...») и чрезмерно основанных на мнениях («что лучше ... ") вопросы не по теме.