Closed s-yata closed 9 years ago
複数行をまとめて挿入する関数を追加して, 1 行ずつ挿入する場合と 100 行ずつ挿入する場合を比較しました. 結果は以下のようになり,複数行をまとめて追加することでオーバーヘッドを減らせることがわかりました.
## Table.InsertRow() により 1 行ずつ追加(合計 1000 万行)
$ go build
$ time ./go_wrapper
real 0m0.749s
user 0m0.734s
sys 0m0.008s
## Table.InsertRows() により 100 行ずつ追加(合計 1000 万行)
$ go build
$ time ./go_wrapper
real 0m0.266s
user 0m0.254s
sys 0m0.027s
概要
値をひとつ格納する度に C の関数を呼び出していると,オーバーヘッドでほとんどの時間を費やしてしまいます. そこで, slice を使って複数の値をまとめて渡せるようにすると速くなるのではないか?というアイデアを試してみます.