なぜmalloc + memsetがcallocより遅いのですか?
malloc
+は、特定の条件下memset
よりも遅くなります。calloc
デフォルトの割り当てをゼロでオーバーライドするために、追加の引数 ( など) をcalloc
使用できるように記述されていないのはなぜですか? それが行われた場合、それはどのような効果があったでしょうか?value
memset
なぜmalloc + memsetがcallocより遅いのですか?
malloc
+は、特定の条件下memset
よりも遅くなります。calloc
デフォルトの割り当てをゼロでオーバーライドするために、追加の引数 ( など) をcalloc
使用できるように記述されていないのはなぜですか? それが行われた場合、それはどのような効果があったでしょうか?value
memset
これらcalloc
またはmemset
初期化はバイト レベルで動作するためmemset
、値が異なる場合でもそれほど0
有用ではありません。少なくとも、異なる値で使用したことを覚えていません。ほとんどの場合、より幅の広い基本型にメモリを割り当てますchar
。
もう1つの側面は、calloc
割り当てではなく初期化であることです。プラットフォームには、 へのすべてのバイトの高速初期化を提供するビルトインがある場合があり0
ます。
しかし、おそらく最も重要な点は、これが C の歴史であるということです。これらのインターフェイスは最初から存在し、変更することはできません。