私はSTMを大量に使用するclojureアプリケーションを開発しています。一般的に、1つのグローバルrefまたは多くの小さいrefを使用する方が良いでしょうか。各refはリレーショナルデータベーステーブルのようにデータを格納するため、いくつかのrefがあります。Clojureで1つのリファレンスまたは複数のリファレンスがありますか?
2
A
答えて
2
参考文献の数を減らすことのメリットは、おそらくマルチスレッドアプリケーションで何が起こっているのかを理解することが容易になるということです。
さらに多くのリファレンスを使用すると、一度にコードをロックしてスピードを上げることができます。
テーブルあたりの参照があり、2つのテーブル間のデータの整合性を維持する必要がある場合、STMはデータがテーブル間でどのように関連するかについての知識がないため、そのロジックを実装する責任があります。
あなたの答えは、1つのテーブルの変更が別のテーブルに影響を及ぼす頻度と、単一のrefをテーブルごとに1つの参照に分割することで、パフォーマンスが大幅に向上するかどうかにあります。
2
私は通常、refsの数を最小にする方が良いと判断しました。
- それは多くの場合、単一の不変ブロックとして、アプリケーションの状態の大部分を治療すると便利です(分析のための簡単なスナップショットを有効にするには、例えば、または機能をテストするために渡す)
- 多くのオーバーヘッドがあります:
主な理由は、
それは単純にあなたのトップレベルの名前空間もちろん
を保持小さなレフリー
+0
あなたは「たくさんの小さな参考文献を使用することによりオーバーヘッドが増えます」と言います。このオーバーヘッドは何ですか? – Zubair
関連する問題
- 1. Microsoft Cognitive Toolkitの書籍またはリファレンスはありますか
- 2. Nlogリファレンスが見つかりません
- 3. Microsoft.Office.Interop.Excelリファレンスが見つかりません
- 4. OpenReadメソッドのリファレンスがありません
- 5. perl HASHリファレンスではありません
- 6. 剣道のUIにはCSSリファレンスがありますか?
- 7. APIレベル17でローダーマネージャのリファレンスが見つかりません
- 8. firebaseのリファレンスをキャッシュする必要がありますか?
- 9. Spark Log4jのプロパティのリファレンスはありますか?
- 10. MaskEditのマスクのリファレンスはありますか?
- 11. SharePointのデータバインディング構文のリファレンスはありますか?
- 12. ネストされたリファレンスはdotnet core 1からアクセスできます
- 13. 1つのリファレンスを参照する
- 14. NuGetまたはDLLリファレンスを使用する必要がありますか?
- 15. リファレンスがあいまいでC++
- 16. 共通リソース識別子のAndroidリファレンスはありますか?
- 17. ReSharperプラグインのリファレンスやドキュメントはどこにありますか?
- 18. オフィスオープンXMLの完全なリファレンスはどこにありますか?
- 19. LoadRunnerのオンライン機能リファレンスはどこにありますか?
- 20. バックグラウンドサービスでのFirebaseリファレンスはsetPersistenceEnabledではありません
- 21. C++ DAL - リターンリファレンスまたはリファレンス
- 22. ビルドエラーあいまいリファレンスWCF
- 23. VBA for Excel Pythonでリファレンスが見つかりません
- 24. エラー:現在の環境でリファレンスfstが見つかりませんでした
- 25. AMD FMA 4組み込み関数のリファレンスはどこにありますか?
- 26. Java 9モジュール記述子リファレンスはどこにありますか?
- 27. NCPDP実装リファレンス標準はありますか?
- 28. iText xmlリファレンスはどこにありますか?
- 29. 関数からリファレンスを返すのはいつですか
- 30. 関数リファレンスをReduxストアに格納する必要がありますか?
興味深いことに、より多くのリファレンスを使用すると、ロックが少なくなります。それが私のために行く方法だろうと思う。 – Zubair