[過去ログ]
【PHP】下らねぇ質問はここに書き込みやがれ 12 (1002レス)
上
下
前
次
1-
新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
736
:
PHPerは糞
(ワッチョイ c17b-NIVl)
2021/08/11(水)21:04
ID:C/NScrzP0(2/5)
AA×
[240|
320
|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
736: PHPerは糞 (ワッチョイ c17b-NIVl) [sage] 2021/08/11(水) 21:04:54.72 ID:C/NScrzP0 ここで、直積みコードを動かす為には format_for_API を「参照渡し」から「値渡し値返し」に変更する必要が有り、 コードは、 $resultArr = fetch_from_DB(); $resultArr = format_for_API($resultArr); // 再代入 echo json_encode($resultArr); となる。これだと結果としては速度/メモリ共に変化無い。ただし最近の『再代入禁止』には反するので、 $resultArr = fetch_from_DB(); $resultArr_formatted = format_for_API($resultArr); // 別名 echo json_encode($resultArr_formatted); と別名にすると、(今回の俺の場合、速度は大して変わらないが)使用メモリは増えてしまう。 これらから言えるのは、 A. format_for_APIは「参照渡し(参照返し)」が正しいはずだが、何故かNoticeが出されてしまう。 仕様としては、参照渡しに未初期化の変数が渡されたらそこでnull初期化される、ということだから、 直積みでも動くのは正しく、Noticeが過剰なように見える。(ただし以下7とは矛盾) (PHPの構造上 is_ref が変数上にしか持てないのが問題なのだろうが、 そこはボックス化みたく変数化すればいいだけで、このような右辺値を流し込んでいる状況なら危険性はないはず。 実際動いているし。だから何でNoticeなの?となる) B. 同名の変数に再代入する場合は(破棄されることが見えているから)最適化がかかり、問題はない。 C. 別名の変数に保存した場合、元の変数($resultArr)がそれ以降使われない場合でも、破棄されず、最適化がかからない。 結果、メモリを余分に消費する。 これについて、冒頭の記事では「そういう特殊な高級言語だ」と表現されているが、これは当たっている。 クダグダ考えずに「値渡し値返し」でひたすら全部組み上げてもそれなりに動くからだ。 そして昨今の『インミュータブル』で『再代入禁止』なのは下位での変更が上位のコードから見えないからであって、 PHPの場合は「値渡し」でガッツリ保護されているから、 『再代入禁止』『参照透過』何それ美味しいの?でも確かにそれなりに問題ないはず。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/736
ここで直積みコードを動かす為には を参照渡しから値渡し値返しに変更する必要が有り コードは 再代入 となるこれだと結果としては速度メモリ共に変化無いただし最近の再代入禁止には反するので 別名 と別名にすると今回の俺の場合速度は大して変わらないが使用メモリは増えてしまう これらから言えるのは は参照渡し参照返しが正しいはずだが何故かが出されてしまう 仕様としては参照渡しに未初期化の変数が渡されたらそこで初期化されるということだから 直積みでも動くのは正しくが過剰なように見えるただし以下とは矛盾 の構造上 が変数上にしか持てないのが問題なのだろうが そこはボックス化みたく変数化すればいいだけでこのような右辺値を流し込んでいる状況なら危険性はないはず 実際動いているしだから何でなの?となる 同名の変数に再代入する場合は破棄されることが見えているから最適化がかかり問題はない 別名の変数に保存した場合元の変数がそれ以降使われない場合でも破棄されず最適化がかからない 結果メモリを余分に消費する これについて冒頭の記事ではそういう特殊な高級言語だと表現されているがこれは当たっている クダグダ考えずに値渡し値返しでひたすら全部組み上げてもそれなりに動くからだ そして昨今のインミュータブルで再代入禁止なのは下位での変更が上位のコードから見えないからであって の場合は値渡しでガッツリ保護されているから 再代入禁止参照透過何それ美味しいの?でも確かにそれなりに問題ないはず
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 266 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.076s