0

柔軟なシミュレーション プログラムを作成します。ユーザーが Python コードを介して計算をカスタマイズできる必要があるため、柔軟性があります。カスタマイズのために、彼はいくつかの「定数」(値を決して変更できないという意味での定数) を定義することから始めます。次に、定数といくつかの既知の定義済み変数を使用して、python 計算コードを定義します。このコードは、後で固定プログラム コードで処理されます。簡単な例を次に示します。

# begin user input
WIDTH = 20.0  # user defined constants
COND = 10.0
calc_code = "COND*WIDTH*x"  # x is a known changing Variable
# end user input

# begin hidden fixed program code
code = compile(
'''
def calc(x):  # function that executes the user code
    return ''' + calc_code  
, '<string>', 'exec') 
exec(code)  # for python 2.x remove brackets

for x in range(10):
    print(calc(x))  # for python 2.x remove brackets
# end hidden fixed program code

問題は、ユーザー コードが非常に頻繁に実行され、計算が大幅に遅くなることです。コード内の定数項 (COND*WIDTH) を自動的に見つけて事前計算し、大幅な高速化を実現することはできますか?

4

0 に答える 0