ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

WebサイトでAI(機械学習)を使うためのPHP_MLなどが、PHP8にJITが入ってやりやすくなる

2020-12-15 08:08:30 | PHP
かも?という話を、12月12日、PHPカンファレンスの「PHPの今とこれから2020」
で聴いてきたので、その内容をメモメモ
※ごめん、表題の件は話してたんだけど、メモでは最後のほうにちょこっとだけ出てくる



■あいさつ
・2000年から始めたので20年
・今回リボーン

■PHPの今とこれから2020
・自己紹介

・PHPとは
 主にWebで使われるスクリプト言語
 1995年誕生
 現場の課題を解決してくれる便利なツール
 サーバーサイド言語、PHPが7~8割
 CMSはWordPressが6割強

・開発体制
 世界中の人が開発

・PHPの歩み
 パーソナルツールがもと。
 拡大。
 WebDB、つながる→プラットフォームへ
 大衆的→5.3、5.4でいろいろ実装→高性能
 高速化を続け、5で並び、7で最速
 セキュリティ:コベリティスキャン
 20年(PHP4→8)で速度50倍(同じスクリプト動く)
 5.3、5.4で機能揃う。5.5でキャッシュ入れる
 7では大幅改良
 8.0:11月26日リリース

・PHPバージョン分布
  PHPアンケート:よく使うバージョンは?7.3-7.4多い
  7は58%、7.2(EOL)のユーザーが73%
  WordPress はPHP7.4、(MySQL5.6)

・リリースサイクル
  ライフサイクル3年
  1か月おきにマイナー上がる。CVEは速やかな更新必要
  一番多い攻撃はDOS→初期に見られた言語としての脆弱性は枯れている

・PHP8
 JITなし
  5から7で倍くらい早くなり、7の間でも2,3割、
  8で10%くらい早い
 JITあり
  キャッシュを有効にすれば、早くなる
  さらにJITを有効にすれば、早くなる
  ただ、アプリケーションだと、
    例えばWordPressだとあんまり変わらない
  →他の部分が速度に関係。

・JIT導入
 JITジャストインタイムコンパイラ
 HHVMでJIT導入
 7でLLVM導入見送り
 DynAsm(ダイナミックアセンブラ)導入
 X86系をサポート

 JITにすれば単純に早くなるというわけでもない
 →動的プロファイリング
  処理頻度が高いところを見つける:トレーシングJIT(デフォルト)

・たくさんの改良
 Union:複数の型が指定できる
 属性:#[]
 staticのバインディング
 弱いマッピング
 変数::class構文 オブジェクトでも
 文字列部分一致確認用関数
 ヌルセーフ演算子(nullチェックを簡便に)
 match式:switch文を簡単に書ける
 mixed型:汎用の型 リスコフ置換原理
 名前付き引数
 コンストラクタでプロパティ指定可能
 下位互換性ない変更
   数値の定義明確化:前後の空白を許容
   負の添字の明確化
   結合合演算子の優先順位明確化
 ほかにもたくさん

・PHPの将来
 キャッシュ:プリローディング
 エクステンション:PHPで書かれるほうへ
 重たい処理:機械学習、AIなど(PHP-ML,PHP-MLX)
  →JITで環境整った

・日本PHPユーザー会の紹介

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする