質問

私は、研究開発と完全な出荷コードを大規模に組み合わせて行うグループで働いています。

半分の時間は、リアルタイム システム (ソフト リアルタイムとハード リアルタイムの間、中程度のリアルタイム?) で実行されるプロセスを開発しています。)

残りの半分は、コードを必ずしも気にしない研究者のためにプロセスを作成したり、最適化したりしています。

現在、2 つの異なるブランチにフォークする必要があるプロセスに取り組んでいます。

1 つのグループ用のリサーチ バージョンと、最新かつ最高のコードを運用環境に導入するために時々リサーチ コードとマージする必要がある運用バージョンがあります。

これらのプロセスをテストするには、分析したデータを適切なタイミングでプロセスに送信する、やや複雑なテスト環境をセットアップする必要があります (リアルタイム システム)。

どうすれば次のものを作れるかを考えていました。

  1. アイデア
  2. 埋め込む
  3. テスト
  4. 後藤 #1

同僚のために、できるだけ簡単に、速く、痛みのないサイクリングをしてください。

私が思いついたアイデアの 1 つは、これらの長時間実行されるプロセス内にスクリプト言語を埋め込むことでした。したがって、プロセスの実行中に、実際のアルゴリズムとそのパラメータを微調整することができます。

さっそく埋め込みを検討してみました。

これらはどちらも実行可能に見え、実際に特定の問題を完全に解決できる可能性があります。

他に何か良いアイデアはありますか?

1 ~ 2 行の変更後に再コンパイルし、テスト環境に再デプロイして再起動するのは面倒です。

このシステムはかなり複雑なので、半分くらいはきちんと説明できたと思います。

役に立ちましたか?

解決

あなたは完全な再コンパイルせずに、有用であるとスクリプトを使用してプログラムを十分に変更することができた場合は、

、多分あなたは小さな部分にシステムを分割について考える必要があります。あなたは、データのロードなどして、実際の処理を行い、クライアントコードを扱う「サーバー」を持つことができます。システムが新しいデータをロードするたびに、それはチェックして見クライアントコードが再コンパイルされている場合、その後、そのような場合、それを使用することができます。

私は、全体のシステムがあまり複雑になることだろう最大のうち、ここでの利点のカップル、があるだろうと思います。今、あなたは一つの言語の代わりに、二つに取り組んでいます。チャンスの少ないがあり、その人のことができます彼らの頭にC ++モードにPythonやLUAモードから移動台無し。システム内の他のいくつかの言語を埋め込むことで、あなたもそれに依存になる危険性があります。あなたがプログラムをtweekするためのpythonまたはLUAを使用している場合は、それが展開する時間になったときに、これらの言語は、依存関係になるのいずれか、またはあなたがC ++に物事をバックアップする必要があります。あなたがC ++に移植物事に選択した場合は、バグがスイッチの間にアップトリミングするために別の機会をtheresの。

他のヒント

Lua の埋め込みは、Python の埋め込みよりもはるかに簡単です。

  • Lua は最初から埋め込み用に設計されました。Python の埋め込み可能性は事後的に移植されました。

  • Lua は Python よりも約 20 倍小さく、シンプルです。

ビルド プロセスについてはあまり語っていませんが、非常に強力なバージョンの make を使用すると、ビルドとテストを大幅に簡素化できます。私はアンドリュー・ヒュームのものを使っています mk, しかし、グレン・ファウラーの本をマスターするために時間を投資したほうがよいでしょう。 ンメイク, これにより、依存関係をその場で追加できるため、別の構成手順が不要になります。nmake はやや複雑であるため、通常は推奨しませんが、ファウラーと彼のグループが nmake ソリューションに組み込みを行っていることは明らかです。 たくさん スケーリングと移植性の問題。特定の状況では、それを習得するために努力する価値があるかもしれません。

わからない私はあなたのシステムを理解しますが、ビルドと展開が複雑すぎる場合は、多分あなたはそれを自動化するだろうか?展開が完全に自動化された場合、それは問題を解決するのでしょうか?

私は、スクリプト言語は、問題を解決する方法を理解していませんか?あなたのアルゴリズムを変更した場合、あなたはまだあなたは、最初から計算を再起動する必要はありません?

これは一種のあなたが必要なもののように聞こえる CruiseControlののまたは類似した何か。ベースラインコードに触れhyouたびに、それが再構築と再放送テストます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top