GAE/Jã§ã®Scalaã®SpinUpæéãè¨ã£ã¦ã¿ã
GAE/Jã§ã®Scalaã®SpinUpæéãè¨ã£ã¦ã¿ã¾ããã
appengine ja night #6 Beer Talk : ATNDã§LTããã¨ãã«è¨ã£ã¡ããã¾ããã®ã§ãã
java-ja温æ³ç¬¬2åã®ææãã®1ã§ããã
測å®æ¹æ³
測å®ãã¿ã¼ã³ã¯ä»¥ä¸ã®4ãã¿ã¼ã³ã§ãã
simplescala | Scalaã§æ¸ããåç´ãªFilterã§ãResponseã«ç´ã«"Hello World"ãåºå |
listscala | Scalaã§æ¸ããåç´ãªFilterã§ãListã使ã£ã¦1ãã10ã¾ã§Responseã«ç´ã«åºå |
slim3scala | Scalaã§Slim3ã®Controllerãç¨æããResponseã«ç´ã«"Hello World"ãåºå |
slim3listscala | Scalaã§Slim3ã®Controllerãç¨æããListã使ã£ã¦1ãã10ã¾ã§Responseã«ç´ã«åºå |
åç´ãªã³ã¼ãã ã¨ãã³ã³ãã¤ã«ããçµæã®classãã¡ã¤ã«ãJavaã¨ãã¾ãå¤ãããªããªãã¨æãããã®ã§ãListã使ã£ã¦Scala Library APIã使ããã¿ã¼ã³ãç¨æãã¾ããã
ãããã®ãã¿ã¼ã³ãåãApplicationIDã§ãããããéããã¼ã¸ã§ã³ã«ãããã¤ãã¦ã¯ã©ã¤ã¢ã³ããã3åããã«curlã§ãªã¯ã¨ã¹ããè¨50åæãã¦ããã°ã«è¨é²ãããcpu_msãéè¨ãã¦ã¿ã¾ããã
測å®çµæ
測å®çµæ:
app | ave | max | min | overhead |
---|---|---|---|---|
simplescala | 896cpu_ms | 971cpu_ms | 777cpu_ms | 196cpu_ms |
listscala | 1224cpu_ms | 1341cpu_ms | 1088cpu_ms | 524cpu_ms |
slim3scala | 1323cpu_ms | 1458cpu_ms | 1225cpu_ms | 623cpu_ms |
slim3listscala | 1688cpu_ms | 1827cpu_ms | 1458cpu_ms | 988cpu_ms |
çµæãè¦ãã¨ãæãåç´ãªãã¿ã¼ã³ã§ã¯ç´900cpu_msã§ãç´ ã®Java Servletã®ç´700cpu_msãã200cpu_msç¨åº¦ã®ãªã¼ãã¼ãããã§ãã
Listãç¨ããå ´åã¯ç´1200cpu_msã§ã500cpu_msã®ãªã¼ãã¼ãããã§ããããã¯ãScala Libray APIã®jarãã¡ã¤ã«ããã®ã¯ã©ã¹ãã¼ãããªã¼ãã¼ãããã«ãªã£ã¦ããã¨æããã¾ãã
ActorãSwingãªã©GAEã§ä½¿ããªãããã±ã¼ã¸ãjarããåé¤ãã¦ã¹ãªã ã«ããã°ãããã¯å¤å°ã®æ¹åãè¦è¾¼ã¾ããããããã¾ãããä»åº¦è©¦ãã¦ã¿ã¾ãã
slim3ãscalaãã使ã£ãå ´åã®æãåç´ãªã±ã¼ã¹ã§ã¯ç´1300cpu_msãslim3ãç´1100cpu_msã§ãã®ã§200cpu_msã®ãªã¼ãã¼ããããæåã®ãã¿ã¼ã³ã¨åãã§ããã
slim3ã¨scalaã§ãListã使ã£ã¦Scala Libray APIã使ã£ãå ´åã§ã¯ç´1700cpu_msãSlim3ããã®å·®ãç´600cpu_msã
ãã®çµæããããããã¨ã¯ã
- åç´ãªScalaã®ã³ã¼ãã§ã¯ããªã¼ãã¼ããããç´200cpu_msã
- Scala Libray APIãå©ç¨ããå ´åã§ããªã¼ãã¼ããããç´600cpu_msã
ç¾å®åé¡ãScala Libray APIãå©ç¨ããªããã¨ã¯ãªãã®ã§ãScalaã使ãå ´åã®ãªã¼ãã¼ãããã¯ç´600cpu_msã§ãããã¨è¨ããã§ãããã
ãã®ç¨åº¦ã§ããã°è¨±å®¹ç¯å²ã ã¨æãã¾ãã®ã§ãGAE/Jã§ã®Scalaã¯å åã«å®ç¨ã«èããã¨æãã¾ãã
ç¾æç¹ã§ãScalaã®Webãã¬ã¼ã ã¯ã¼ã¯Liftã¯ãSpinUpæéã¯7,8ç§ãããããããFunctionMappingã§ãµã¼ãå´ã®ã»ãã·ã§ã³ã«ç¶æ ãæã£ã¦ãã¾ããããã¤ã³ã¹ã¿ã³ã¹ãSpinUpããã¿ã¤ãã³ã°ã§ç°ãªããµã¼ãã«ãªã¯ã¨ã¹ããæ¯ããã¦ãã¾ãå ´åã¯ã¨ã©ã¼ãèµ·ããå¯è½æ§ããããã¨ããåé¡ããããå®ç¨çã§ã¯ããã¾ããã
GAEã§Scalaã使ãå ´åã§ãããã¯ãSlim3ãæãé©ãã¦ããã®ã§ã¯ãªãã§ããããã
測å®ã«ä½¿ç¨ããã³ã¼ãã¯ããã§ãã
yuroyoro/scala-spinup-check · GitHub
@shin1ogawaããã®æ¸¬å®æ¹æ³ãåèã«ããã¦ãããã¾ããã
åè:
404 shin1のつぶやき ないわー Not Found: slim3と素のJavaで #appengine のspinupを比較してみた
App Engineではどの言語を使えばいいのか - Hyper Great Creator やすを
測å®çµæã®ãã°:
simplescala --------------------------------------- max : 971cpu_ms min : 777cpu_ms ave : 896cpu_ms --------------------------------------- 0 : 894 1 : 894 2 : 913 3 : 913 4 : 933 5 : 952 6 : 952 7 : 913 8 : 913 9 : 875 10 : 933 11 : 816 12 : 913 13 : 913 14 : 855 15 : 875 16 : 855 17 : 875 18 : 855 19 : 816 20 : 952 21 : 952 22 : 933 23 : 875 24 : 971 25 : 875 26 : 913 27 : 835 28 : 894 29 : 855 30 : 894 31 : 894 32 : 777 33 : 952 34 : 933 35 : 933 36 : 933 37 : 913 38 : 913 39 : 933 40 : 913 41 : 875 42 : 875 43 : 855 44 : 875 45 : 894 46 : 933 47 : 894 48 : 913 49 : 796 listscala --------------------------------------- max : 1341cpu_ms min : 1088cpu_ms ave : 1224cpu_ms --------------------------------------- 0 : 1341 1 : 1244 2 : 1302 3 : 1244 4 : 1225 5 : 1205 6 : 1263 7 : 1225 8 : 1127 9 : 1263 10 : 1166 11 : 1166 12 : 1263 13 : 1244 14 : 1088 15 : 1225 16 : 1108 17 : 1185 18 : 1225 19 : 1185 20 : 1263 21 : 1185 22 : 1166 23 : 1263 24 : 1225 25 : 1146 26 : 1146 27 : 1263 28 : 1302 29 : 1341 30 : 1263 31 : 1205 32 : 1302 33 : 1283 34 : 1244 35 : 1263 36 : 1321 37 : 1283 38 : 1302 39 : 1244 40 : 1225 41 : 1108 42 : 1146 43 : 1185 44 : 1185 45 : 1283 46 : 1225 47 : 1127 48 : 1244 49 : 1263 50 : 1166 slim3scala --------------------------------------- max : 1458cpu_ms min : 1225cpu_ms ave : 1323cpu_ms --------------------------------------- 0 : 1400 1 : 1302 2 : 1341 3 : 1380 4 : 1380 5 : 1302 6 : 1438 7 : 1321 8 : 1283 9 : 1263 10 : 1321 11 : 1321 12 : 1263 13 : 1321 14 : 1225 15 : 1341 16 : 1321 17 : 1321 18 : 1341 19 : 1321 20 : 1321 21 : 1360 22 : 1341 23 : 1458 24 : 1360 25 : 1263 26 : 1225 27 : 1244 28 : 1360 29 : 1321 30 : 1283 31 : 1302 32 : 1302 33 : 1419 34 : 1360 35 : 1360 36 : 1283 37 : 1321 38 : 1341 39 : 1360 40 : 1400 41 : 1225 42 : 1321 43 : 1341 44 : 1263 45 : 1263 46 : 1380 47 : 1244 48 : 1302 49 : 1438 50 : 1244 slim3listscala --------------------------------------- max : 1827cpu_ms min : 1458cpu_ms ave : 1688cpu_ms --------------------------------------- 0 : 1691 1 : 1458 2 : 1671 3 : 1710 4 : 1691 5 : 1671 6 : 1730 7 : 1671 8 : 1594 9 : 1633 10 : 1652 11 : 1652 12 : 1633 13 : 1710 14 : 1613 15 : 1769 16 : 1594 17 : 1594 18 : 1691 19 : 1788 20 : 1769 21 : 1691 22 : 1730 23 : 1594 24 : 1769 25 : 1613 26 : 1633 27 : 1691 28 : 1730 29 : 1750 30 : 1788 31 : 1827 32 : 1808 33 : 1730 34 : 1458 35 : 1730 36 : 1633 37 : 1730 38 : 1827 39 : 1575 40 : 1691 41 : 1730 42 : 1730 43 : 1730 44 : 1710 45 : 1710 46 : 1788 47 : 1652