golang で URL fetcher を作成しています。私はgolangを初めて使用し、以前はinterace{ }タイプについて知らなかったmap[string]string
ため、args_hash{}time
(フェッチャーに引数を渡すための一般的なハッシュdate
、site-path
など)に使用していました。interface{}
しかし、後でtypeについて学び、 mymap
を に変更しましたmap[string]interface{}
。
私のフェッチャー内のさまざまな機能はargs_hash{}
. 以前は、整数であるはずの引数を変換する必要がありました (ただし、andを使用した整数への制限により、文字列として
渡されました。map[string]string)
strconv.Atoi()
stuff
func my_def(args_hash{} map[string]string){
url_count := strconv.Atoi(args_hash["url_count"])
// ... use url count
.
.
// ......successful url count calculated
args_hash["success_url_count"] = strconv.Itoa(success_count)
}
私のメソッドはこれを数回前に行い、これを変更args_hash{}
してそれらの間で数回渡しました。
しかし、今から私は使用に移行しました
args_hash map[string]interface{}
私はもうこれをしません。
ではmap[string]string
、10 個の特定の URL をフェッチするのにかかった時間は約 23 秒でしたが、map[string]interface{}
これはほぼ半分 (約 12 ~ 13 秒) に短縮されました。
この理由は何でしょうか?