【WordPress】get_post()->post_contentとthe_content()の速度を比較してみたという話

実験記事です。

WordPressの本を読み漁っていたところ、「単独記事におけるその記事の内容を出力」する方法は大まかに分けて2つ存在しました。

  • the_content()を使用する方法(大半がこれ)
  • echo get_post()->post_content()を使用する方法

「速度だけ」を見れば、echo get_post()->post_contentの方が圧倒的に早かったです。

どちらを使うべきかとかは今回言及しません。これらはイコールではありませんので。

例えば、the_content()の場合は、1行ごとに<p>タグが入るので自動的に段落が出来ます。

↓こんなイメージ

the_content()の出力

一方で、echo get_post()->post_contentは、<p>タグ等は入りません。

このように、それぞれ仕様が異なっているので、純粋な比較とは言い難いところではあるので。

目次

実験

以下のようなテスト記事を作成して、

  • the_content()
  • echo get_post()->post_content()

でそれぞれ100回出力を行い、100回処理を終えた時の時間を見てみます。(実際はもっと試行回数を増やした方が良いです)

テスト記事

結果は以下の通り。見てもらうと分かる通り、echo get_post()->post_contentの方が圧倒的に早い。

the_content() 0.011502981185913
echo get_post()->post_content 6.9141387939453E-6

ただ、実際のところソースコードを細かく確認していないのでどちらを使うべきかとかはここでは言及しません。

ちなみにそれぞれの画面上での表示はこんな感じです。

・the_content()

・ echo get_post()->post_content