ISUCON4予選問題のJava実装を作りました #isucon #isucon4
僕はJavaも好きなので、ISUCON4予選問題のJava実装を作ってみました。
フレームワークには最近Java界隈で話題のSpring Bootを使っています。
ISUCON興味あるんだけど、Java実装が無かったので参加しなかったという方や、Spring Bootに興味がある方はぜひ試してみてください!
MySQLのCREATE文やINSERT文も含まれていますので、アプリを動かすだけであればローカル環境で動きます。
ソース
アプリケーションの起動方法
アプリケーションサーバが組み込まれるので、サーバにTomcatなどをインストール・設定する必要はありません。
Java8をインストールして、jarファイルを実行するだけです。
(アプリケーションのビルドにはMavenを使います)
ビルド
$ mvn clean package
実行
$ java -jar /path/to/java-spring-boot-1.0.0.jar
初期スコア
Ruby実装と比較してみました。
Ruby実装
12:19:25 type:info message:launch benchmarker 12:19:25 type:warning message:Result not sent to server because API key is not set 12:19:25 type:info message:init environment 12:19:35 type:info message:run benchmark workload: 1 12:20:35 type:info message:finish benchmark workload: 1 12:20:40 type:info message:check banned ips and locked users report 12:20:59 type:report count:banned ips value:3 12:20:59 type:report count:locked users value:2552 12:20:59 type:info message:Result not sent to server because API key is not set 12:20:59 type:score success:5750 fail:0 score:1242
Java Spring Boot実装
12:09:15 type:info message:launch benchmarker 12:09:15 type:warning message:Result not sent to server because API key is not set 12:09:15 type:info message:init environment 12:09:24 type:info message:run benchmark workload: 1 12:10:24 type:info message:finish benchmark workload: 1 12:10:29 type:info message:check banned ips and locked users report 12:10:48 type:report count:banned ips value:7 12:10:48 type:report count:locked users value:2569 12:10:48 type:info message:Result not sent to server because API key is not set 12:10:48 type:score success:6980 fail:0 score:1508
レギュレーションなど
レギュレーション、当日マニュアル、AMI情報などは README.md を参照してください。
運営の方の解説と講評もあります。
ISUCON4 予選問題の解説と講評 & AMIの公開