すべてを測定するプログラミング言語はありますか?コンテストのプログラミング言語はありますか?
たとえば、割り当てられたメモリの量、使用された操作の数(サイクル数)、およびIOに費やされた時間を測定したいと思います。
このような言語は、プログラミングコンテストの開催には最適です。
すべてを測定するプログラミング言語はありますか?コンテストのプログラミング言語はありますか?
たとえば、割り当てられたメモリの量、使用された操作の数(サイクル数)、およびIOに費やされた時間を測定したいと思います。
このような言語は、プログラミングコンテストの開催には最適です。
ValGrindのようなツールの下で、既存の言語でコンパイル/解釈されたプログラムを実行することを検討してください。必要に応じてValGrindをさらに拡張することができます。
ツールは、必ずしも言語とは限りません。私はプロファイリングツールを使って、埋め込まれたCプログラムでこれらのことを行います。コンパイラのベンダーでも同様のツールを使用できます。
OSはメモリ管理を担当しているため、OSに報告するのが最も簡単です。もう1つの選択肢は、応募者が使用する必要があるライブラリを書くことです。malloc
などのラッパーを構築します。ライブラリのmalloc
が呼び出されると、割り当てられたメモリの量が記録され、実数malloc
が呼び出されます。プログラムが終了すると、プログラムの動的メモリ使用量の完全なログが得られます。これらの関数の待ち時間を記録するI/O関数のラッパーを書くこともできます(実際の関数を呼び出す前と完了後にタイムスタンプを取る)。
参加者はあなたの奇妙なコンテスト言語を学習する必要がありますか?これらのことについてOSに尋ねることができます。 –
多くの既存の言語に対してこれを行うためのツールが存在します。これらのツールは、まとめて[プロファイラ](http://en.wikipedia.org/wiki/Profiling_%28computer_programming%29)として知られています。 –