Feature #1221

groongaのAPI呼び出し時にRubyのGVLを外してみる

Added by Kouhei Sutou over 6 years ago. Updated over 4 years ago.

Status:新規Start date:12/19/2011
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

h2. 問題

実験的な話。

現在のrroongaは同時に1つのCPUしか使えないため、同じマシン上で並列にクエリを処理したい場合はマルチプロセス化するしか方法がない。これでもいいといえばいいんだけど、スレッドで並列に処理できたほうがお手軽なので、そういうこともできてもいいんじゃないだろうか。

h2. 期待する状態

スレッドでも複数のCPUを使ってクエリを処理できる。

h2. 解決方法

grn_table_select()とgrn_ctx_send()のときはRubyのGVL(Global VM Lock)を外してみるのはどうだろう。これで複数のCPUを使ってくれるようになるなら、grn_table_sort()やgrn_table_group()も外してみる。

History

#1 Updated by daijiro MORI over 4 years ago

  • Target version deleted (1.3.x)

Also available in: Atom PDF