memcpyはどのように行われる関数なのでしょうか?
私は動的配列(int型)のプログラムを書き、100000000個のデータを挿入、削除させました。
すると、初期配列サイズが①1の場合と②100000001の場合とで実行時間の差異がほとんど見られませんでした。
(その差はおよそ0.22秒)
挿入時に一杯であれば、元の配列の内容を新たに作った大きさ2倍の配列にmemcpyで移し換え、元の配列は解放します。
②の場合には配列は拡張することがなく、①の場合には27回拡張することになりますが、ここの差はほとんどないと思います。
問題はmemcpy関数で移し変える時だと思いもす。
最大で67108864(2^26)個のデータを移し変えることになりますが、memcpyはそれでも差が出ないような仕様なのですか?
また、ライブラリ関数の中身を見る方法があれば、合わせて教えてください。
諸事情によりプログラムは載せられませんが、ご回答よろしくお願いします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/20 02:54