Scala並列処理
/** * Created by FScoward on 14/03/29. */ import org.atilika.kuromoji.Tokenizer import scala.collection.JavaConversions._ import scala.io.Source object Main { def main(args: Array[String]): Unit = { val text = Source.fromFile("sample.txt", "UTF-8").mkString println("### One") val before = System.currentTimeMillis() Tokenizer.builder().build() .tokenize(text) .iterator().toIterator .filter(t => t.getPartOfSpeech.contains("名詞")) .toTraversable.groupBy(t => t.getSurfaceForm).foreach(t => println(t._1 + ": " + t._2.size + " -> " + t._2.head.getAllFeatures)) println("Time: " + (System.currentTimeMillis() - before) + "ms") println("### Two") val before2 = System.currentTimeMillis() Tokenizer.builder().build() .tokenize(text) .iterator().toIterator .filter(t => t.getPartOfSpeech.contains("名詞")) .toTraversable.par.groupBy(t => t.getSurfaceForm).foreach(t => println(t._1 + ": " + t._2.size + " -> " + t._2.head.getAllFeatures)) println("Time: " + (System.currentTimeMillis() - before2) + "ms") } }
run [info] Running Main ### One 好き: 1 -> 名詞,形容動詞語幹,*,*,*,*,好き,スキ,スキ の: 2 -> 名詞,非自立,一般,*,*,*,の,ノ,ノ 事: 4 -> 名詞,非自立,一般,*,*,*,事,コト,コト 笑顔: 1 -> 名詞,一般,*,*,*,*,笑顔,エガオ,エガオ 部屋: 1 -> 名詞,一般,*,*,*,*,部屋,ヘヤ,ヘヤ 星: 2 -> 名詞,一般,*,*,*,*,星,ホシ,ホシ ーー: 1 -> 名詞,一般,*,*,*,*,* 僕ら: 1 -> 名詞,代名詞,一般,*,*,*,僕ら,ボクラ,ボクラ 翼: 3 -> 名詞,一般,*,*,*,*,翼,ツバサ,ツバサ 毎日: 1 -> 名詞,副詞可能,*,*,*,*,毎日,マイニチ,マイニチ 秘密: 6 -> 名詞,一般,*,*,*,*,秘密,ヒミツ,ヒミツ ドア: 1 -> 名詞,一般,*,*,*,*,ドア,ドア,ドア !: 7 -> 名詞,サ変接続,*,*,*,*,* 扉: 2 -> 名詞,一般,*,*,*,*,扉,トビラ,トビラ こと: 1 -> 名詞,非自立,一般,*,*,*,こと,コト,コト ゆ: 6 -> 名詞,一般,*,*,*,*,ゆ,ユ,ユ 誰: 1 -> 名詞,代名詞,一般,*,*,*,誰,ダレ,ダレ Knock: 10 -> 名詞,固有名詞,組織,*,*,*,* なか: 1 -> 名詞,非自立,副詞可能,*,*,*,なか,ナカ,ナカ ここ: 2 -> 名詞,代名詞,一般,*,*,*,ここ,ココ,ココ ゆかり: 2 -> 名詞,一般,*,*,*,*,ゆかり,ユカリ,ユカリ -: 5 -> 名詞,サ変接続,*,*,*,*,* 嫌: 1 -> 名詞,形容動詞語幹,*,*,*,*,嫌,イヤ,イヤ 時: 10 -> 名詞,非自立,副詞可能,*,*,*,時,トキ,トキ 私: 2 -> 名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ もの: 1 -> 名詞,非自立,一般,*,*,*,もの,モノ,モノ 距離: 1 -> 名詞,一般,*,*,*,*,距離,キョリ,キョリ 向こう: 1 -> 名詞,一般,*,*,*,*,向こう,ムコウ,ムコー 夢: 1 -> 名詞,一般,*,*,*,*,夢,ユメ,ユメ 一緒: 1 -> 名詞,サ変接続,*,*,*,*,一緒,イッショ,イッショ 月: 2 -> 名詞,一般,*,*,*,*,月,ツキ,ツキ それ: 1 -> 名詞,代名詞,一般,*,*,*,それ,ソレ,ソレ ?: 1 -> 名詞,サ変接続,*,*,*,*,* 側: 1 -> 名詞,接尾,一般,*,*,*,側,ガワ,ガワ ー: 8 -> 名詞,一般,*,*,*,*,* 君: 8 -> 名詞,接尾,人名,*,*,*,君,クン,クン ふたり: 1 -> 名詞,一般,*,*,*,*,ふたり,フタリ,フタリ Time: 407ms ### Two ここ: 2 -> 名詞,代名詞,一般,*,*,*,ここ,ココ,ココ Knock: 10 -> 名詞,固有名詞,組織,*,*,*,* 月: 2 -> 名詞,一般,*,*,*,*,月,ツキ,ツキ 一緒: 1 -> 名詞,サ変接続,*,*,*,*,一緒,イッショ,イッショ 夢: 1 -> 名詞,一般,*,*,*,*,夢,ユメ,ユメ 向こう: 1 -> 名詞,一般,*,*,*,*,向こう,ムコウ,ムコー ゆかり: 2 -> 名詞,一般,*,*,*,*,ゆかり,ユカリ,ユカリ 距離: 1 -> 名詞,一般,*,*,*,*,距離,キョリ,キョリ もの: 1 -> 名詞,非自立,一般,*,*,*,もの,モノ,モノ 時: 10 -> 名詞,非自立,副詞可能,*,*,*,時,トキ,トキ 嫌: 1 -> 名詞,形容動詞語幹,*,*,*,*,嫌,イヤ,イヤ 側: 1 -> 名詞,接尾,一般,*,*,*,側,ガワ,ガワ -: 5 -> 名詞,サ変接続,*,*,*,*,* それ: 1 -> 名詞,代名詞,一般,*,*,*,それ,ソレ,ソレ ー: 8 -> 名詞,一般,*,*,*,*,* 君: 8 -> 名詞,接尾,人名,*,*,*,君,クン,クン 翼: 3 -> 名詞,一般,*,*,*,*,翼,ツバサ,ツバサ 星: 2 -> 名詞,一般,*,*,*,*,星,ホシ,ホシ ーー: 1 -> 名詞,一般,*,*,*,*,* 僕ら: 1 -> 名詞,代名詞,一般,*,*,*,僕ら,ボクラ,ボクラ 笑顔: 1 -> 名詞,一般,*,*,*,*,笑顔,エガオ,エガオ 部屋: 1 -> 名詞,一般,*,*,*,*,部屋,ヘヤ,ヘヤ 事: 4 -> 名詞,非自立,一般,*,*,*,事,コト,コト 好き: 1 -> 名詞,形容動詞語幹,*,*,*,*,好き,スキ,スキ の: 2 -> 名詞,非自立,一般,*,*,*,の,ノ,ノ こと: 1 -> 名詞,非自立,一般,*,*,*,こと,コト,コト 扉: 2 -> 名詞,一般,*,*,*,*,扉,トビラ,トビラ ドア: 1 -> 名詞,一般,*,*,*,*,ドア,ドア,ドア !: 7 -> 名詞,サ変接続,*,*,*,*,* 誰: 1 -> 名詞,代名詞,一般,*,*,*,誰,ダレ,ダレ ふたり: 1 -> 名詞,一般,*,*,*,*,ふたり,フタリ,フタリ なか: 1 -> 名詞,非自立,副詞可能,*,*,*,なか,ナカ,ナカ ゆ: 6 -> 名詞,一般,*,*,*,*,ゆ,ユ,ユ 毎日: 1 -> 名詞,副詞可能,*,*,*,*,毎日,マイニチ,マイニチ 秘密: 6 -> 名詞,一般,*,*,*,*,秘密,ヒミツ,ヒミツ ?: 1 -> 名詞,サ変接続,*,*,*,*,* 私: 2 -> 名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ Time: 23ms [success] Total time: 1 s, completed 2014/03/30 2:02:45
.toTraversable.par.
ここだけの違いなのに速度に大分違いが出るなーっていう
並行コンピューティング技法 ―実践マルチコア/マルチスレッドプログラミング
- 作者: Clay Breshears,千住治郎
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/12/21
- メディア: 大型本
- 購入: 12人 クリック: 598回
- この商品を含むブログ (38件) を見る