質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Play Framework 2

Play Framework 2はPlayのメジャーバージョンです。現代の web アプリケーション開発に必要なコンポーネント及び API を統合した生産性の高い Java と Scala の web アプリケーションフレームワークです。

Q&A

解決済

1回答

1885閲覧

Slick 3.xにて、200以上のカラムがある場合コンパイルが遅くなる件につきまして

退会済みユーザー

退会済みユーザー

総合スコア0

Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Play Framework 2

Play Framework 2はPlayのメジャーバージョンです。現代の web アプリケーション開発に必要なコンポーネント及び API を統合した生産性の高い Java と Scala の web アプリケーションフレームワークです。

0グッド

0クリップ

投稿2016/06/30 05:49

いつもお世話になっております。

Play Framework 2.5.4(Scala)に、Slick 3.1を利用してプログラムを作成しております。
開発環境は、IntelliJ IDEA を利用しています。

マシーンスペックにつきましては、
MacBook Pro
CPU 2.9 GHz Intel Core i7
メモリ 8GM
を、利用しております。

下記の「Code Generation」を利用して、自動的にClassを作成し、
コンパイルをしたところ、15分ぐらいコンパイル中の状態となりました。
2回目以降は、0.1msecで、激的に早いのですが、1回目のコンパイルが遅いです。

slick-codegen 3.1.0-M2

作成されたクラスにつきましては、

slick.collection.heterogeneous.{ HList, HCons, HNil }

のクラスが利用されています。

色々と試行錯誤させて頂き、テーブルのカラム数が多ければ多いほど、
コンパイルに時間がかかることがわかってきました。

Code Generationは便利な機能ですが、ここまで遅いと開発時に利用できないのではないかと思います。

そこで、質問させて頂きたいのですが、Play Framework + Slick を利用されている方で、
同じような問題が発生した方、その解決方法をご存知の方がいらっしゃりましたら、
ご教授いただけないでしょうか?

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

slick-codegen を利用していないので、Scalaの一般的な話になりますが、現状のScalaは基本的にコンパイルが遅いとよく言われます

色々、コンパイル速度の改善や調査をされている方はいらっしゃいます
参考までに、2つほどリンクを掲載します

今回の、 slick-codegen についてですが、自動生成したコードなので、現状はコンパイル速度の改善は難しいのではないかと思います

カラムが200以上ということで、かなりの量のコードが生成されていることと思います
生成されたコードを自力でチューニングしすぎると、自動生成のメリットがなくなりかねないので、現状のscalaやslick-codegen については、そういうものだと受け入れるしかないと思います

投稿2016/06/30 07:49

Kuchitama

総合スコア181

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/07/04 23:42

ご回答ありがとうございます。 自動生成すると意外と便利なんですけど、ケースバイケースって感じですね。 Scalaは、書き慣れてきたので今後も使っていこうと思いますが、コンパイルがもう少し早くなると本当に嬉しいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問