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