SlideShare a Scribd company logo

PECL を数えてみた

Y
y-uti

PHP BLT #3 での発表資料です。PECL に登録されている PHP 拡張モジュールについて調べてみたものです。

1 of 13
Download to read offline
PECLを数えてみた
内山 雄司 @y__uti
2016-03-01 PHPBLT #3
PECL
The PHP Extension Community Library
2016-03-01 PHPBLT #3 2
courierauth krb5 PAM radius sasl DTrace inclued memprof APC APCu apcu_bc chdb coherence hidef memcache memcached memorize
varnish WinCache yac ZendOpcache augeas env yaconf zookeeper ncurses newt termbox tvision xmms gnupg libsodium mcrypt_filter
scrypt xxtea cassandra couchbase CUBRID daffodildb dbase DBDO dbplus dbx drizzle filepro hwapi ibm_db2 informix ingres
isis lchash leveldb maxdb mdbtools mongo mongodb mysql mysqlnd_memcache mysqlnd_ms mysqlnd_qc mysqlnd_uh notes oci8
odbtp Ovrimos Paradox PDO PDO_4D PDO_CUBRID PDO_DBLIB PDO_FIREBIRD PDO_IBM PDO_INFORMIX PDO_MYSQL PDO_OCI PDO_ODBC
PDO_PGSQL PDO_SQLANYWHERE PDO_SQLITE pdo_sqlsrv pdo_user PDO_XML pq redis riak sqlanywhere SQLite sqlite3 sqlsrv tdb
tokyo_tyrant date_time hrtime timezonedb dazuko fuse inotify mogilefs phdfs smbclient xattr html_parse tidy apfd json_post
pecl_http txforward uri_template cairo cairo_wrapper framegrab FreeImage GDChart gmagick imagick imlib2 opencv pango
qb rsvg SeasLog mailparse POP3 vpopmail big_int geospatial hdr_histogram lapack stats trader amqp apn ares cvsclient
cyrus DBus esmtp event gearman geoip gRPC gupnp IMS ip2location ircclient kadm5 Mosquitto mqseries msession netools Net_Gopher
ocal opendirectory perforce rdkafka sam spread ssh2 tcpwrap uuid yami yaz yp zeroconf zmq Bitset coin_acceptor cybercash
cybermut mcve spplus TCLink domxml dom_varimport WBXML xmldiff xmlReader XMLRPCi xmlwriter xslcache axis2 hprose json
jsonc jsond jsonnet oauth SCA_SDO xcommerce yar AOP apd APM automap bcompiler BLENC classkit docblock ffi funcall htscanner
igbinary intercept llvm memsession memtrack meta mono operator optimizer params parsekit Parse_Tree pcs phar phk PHPScript
postparser PreProcessor propro raphf runkit scream session_mysql strict tcc trace uopz uploadprogress vld xdebug bloomy
Judy quickhash Weakref cld fribidi gender idn intl translit unicode unicodestring binpack clips crack crack_dll crypto
fann filter functional graphdat hash huffman msgpack pcsc PECL_Gen protocolbuffers rsync SPL SPL_Types stomp svm udis86
Valkyrie xhprof xrange amfext rrd shape archive bz2 cpdf Fileinfo fpdf haru id3 lzf qqwry rar rpmreader syck yaml zip bz2_filter
oggvorbis openal zlib_filter bbcode colorer doublemetaphone enchant ereg jsmin markdown namazu panda pdflib ps re2 ssdeep
stem sundown TextCat xdiff ApacheAccessor dio expect fam printer proctitle pthreads statgrab sync threads w32api win32ps
win32ps_dll win32service yaf svn eio ev libevent swoole php_xcb tk win32std WinBinder wxwidgets ecasound ming opengl
sdl xmp FliteTTS KTaglib selinux taint clucene mnogosearch solr sphinx swish lua perl python spidermonkey v8js libvirt
登録モジュール数
2016-03-01 PHPBLT #3 3
2016-02-25 時点の情報
トップページからリンクを辿って到達できる HTML ページ数をカウントしたもの
カテゴリ別モジュール数
2016-03-01 PHPBLT #3 4
Database 56
PHP 41
Networking 35
Tools and Utilities 24
Text 17System 15
File Formats 14
Caching 13
Images 12
Web Service 10
Internationalization 8
XML 8
File System 7
Math 6
Payment 6
Authentication 5
Console 5
Encryption 5
GUI 5
HTTP 5
Languages 5
Multimedia 5
Search Engine 5
Configuration 4
Event 4
Streams 4Structures 4Benchmarking 3Date and Time 3Mail 3Processing 3Audio 2HTML 2Security 2Logging 1Numbers 1Version Control 1Virtualization 1
登録モジュール数の推移
2016-03-01 PHPBLT #3 5
4.2.0
4.3.0
4.4.0
5.0.0
5.1.0
5.2.0
5.3.0
5.4.0
5.5.0
5.6.0
7.0.0
0
50
100
150
200
250
300
350
2002/1/1 2006/1/1 2010/1/1 2014/1/1
モジュール数
"Available Releases" の情報を集計したもの。情報のない 37 モジュールを除外, stable 以外のリリースも含む
PHP のリリース日は http://www.php.net/releases による
月ごとのリリース数
2016-03-01 PHPBLT #3 6
0
10
20
30
40
50
60
2002/1/1 2006/1/1 2010/1/1 2014/1/1
リリース数
"Available Releases" の情報を集計したもの。情報のない 37 モジュールを除外, stable 以外のリリースも含む
Ad

Recommended

PECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードPECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードy-uti
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみたy-uti
 
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみたWindows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみたy-uti
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試したy-uti
 
OPcache の最適化器の今
OPcache の最適化器の今OPcache の最適化器の今
OPcache の最適化器の今y-uti
 
PHP AST 徹底解説(補遺)
PHP AST 徹底解説(補遺)PHP AST 徹底解説(補遺)
PHP AST 徹底解説(補遺)do_aki
 
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説do_aki
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 

More Related Content

What's hot

最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話y-uti
 
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみたOPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみたYoshio Hanawa
 
php-src の歩き方
php-src の歩き方php-src の歩き方
php-src の歩き方do_aki
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020Rui Hirokawa
 
Windows で PHP をビルドしてみた
Windows で PHP をビルドしてみたWindows で PHP をビルドしてみた
Windows で PHP をビルドしてみたy-uti
 
php and sapi and zendengine2 and...
php and sapi and zendengine2 and...php and sapi and zendengine2 and...
php and sapi and zendengine2 and...do_aki
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とdo_aki
 
PHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見るPHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見るshinjiigarashi
 
PHPの関数実行とその計測
PHPの関数実行とその計測PHPの関数実行とその計測
PHPの関数実行とその計測shinjiigarashi
 
signal の話 或いは Zend Signals とは何か
signal の話 或いは Zend Signals とは何かsignal の話 或いは Zend Signals とは何か
signal の話 或いは Zend Signals とは何かdo_aki
 
PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くPHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くshinjiigarashi
 
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!shinjiigarashi
 
PHPの今とこれから2016
PHPの今とこれから2016PHPの今とこれから2016
PHPの今とこれから2016Rui Hirokawa
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件y-uti
 
PHP の GC の話
PHP の GC の話PHP の GC の話
PHP の GC の話y-uti
 
Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門y-uti
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い sasezaki
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014Rui Hirokawa
 
PHPの今とこれから2019
PHPの今とこれから2019PHPの今とこれから2019
PHPの今とこれから2019Rui Hirokawa
 
PHPの今とこれから 2013
PHPの今とこれから 2013PHPの今とこれから 2013
PHPの今とこれから 2013Rui Hirokawa
 

What's hot (20)

最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話
 
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみたOPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
 
php-src の歩き方
php-src の歩き方php-src の歩き方
php-src の歩き方
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020
 
Windows で PHP をビルドしてみた
Windows で PHP をビルドしてみたWindows で PHP をビルドしてみた
Windows で PHP をビルドしてみた
 
php and sapi and zendengine2 and...
php and sapi and zendengine2 and...php and sapi and zendengine2 and...
php and sapi and zendengine2 and...
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
 
PHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見るPHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見る
 
PHPの関数実行とその計測
PHPの関数実行とその計測PHPの関数実行とその計測
PHPの関数実行とその計測
 
signal の話 或いは Zend Signals とは何か
signal の話 或いは Zend Signals とは何かsignal の話 或いは Zend Signals とは何か
signal の話 或いは Zend Signals とは何か
 
PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くPHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩く
 
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
 
PHPの今とこれから2016
PHPの今とこれから2016PHPの今とこれから2016
PHPの今とこれから2016
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
 
PHP の GC の話
PHP の GC の話PHP の GC の話
PHP の GC の話
 
Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014
 
PHPの今とこれから2019
PHPの今とこれから2019PHPの今とこれから2019
PHPの今とこれから2019
 
PHPの今とこれから 2013
PHPの今とこれから 2013PHPの今とこれから 2013
PHPの今とこれから 2013
 

Similar to PECL を数えてみた

ふつうのLinuxプログラミング
ふつうのLinuxプログラミングふつうのLinuxプログラミング
ふつうのLinuxプログラミングShuhei KONDO
 
社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~ 社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~ Daisuke Ikeda
 
0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきことmao999
 
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応marsee101
 
C83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきましたC83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきましたKiwamu Okabe
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Hiro Yoshioka
 
産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会Hirotaka Kawata
 
node-handlersocket
node-handlersocketnode-handlersocket
node-handlersocketkoichik
 
ITスキルシート(マヴェリック アリネア)
ITスキルシート(マヴェリック アリネア)ITスキルシート(マヴェリック アリネア)
ITスキルシート(マヴェリック アリネア)Maverick Alinea
 
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPUTakuro Iizuka
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Mori Shingo
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくばHirotaka Kawata
 
Handlersocket etc. 20110906
Handlersocket etc. 20110906Handlersocket etc. 20110906
Handlersocket etc. 20110906akirahiguchi
 
Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Shinichi Hirauchi
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, CodereadingHiro Yoshioka
 
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会Yoshihisa Ozaki
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Takuya Matsunaga
 
目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザ目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザKohei MATSUSHITA
 
Exploring the x64
Exploring the x64Exploring the x64
Exploring the x64FFRI, Inc.
 

Similar to PECL を数えてみた (20)

ゆるかわPhp
ゆるかわPhpゆるかわPhp
ゆるかわPhp
 
ふつうのLinuxプログラミング
ふつうのLinuxプログラミングふつうのLinuxプログラミング
ふつうのLinuxプログラミング
 
社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~ 社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~
 
0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと
 
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応
 
C83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきましたC83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきました
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 
産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会
 
node-handlersocket
node-handlersocketnode-handlersocket
node-handlersocket
 
ITスキルシート(マヴェリック アリネア)
ITスキルシート(マヴェリック アリネア)ITスキルシート(マヴェリック アリネア)
ITスキルシート(マヴェリック アリネア)
 
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
 
Handlersocket etc. 20110906
Handlersocket etc. 20110906Handlersocket etc. 20110906
Handlersocket etc. 20110906
 
Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Windowsのパケットモニタ作成
Windowsのパケットモニタ作成
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
 
目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザ目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザ
 
Exploring the x64
Exploring the x64Exploring the x64
Exploring the x64
 

More from y-uti

潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法y-uti
 
Active Object
Active ObjectActive Object
Active Objecty-uti
 
目で見る過学習と正則化
目で見る過学習と正則化目で見る過学習と正則化
目で見る過学習と正則化y-uti
 
ロジスティック回帰入門
ロジスティック回帰入門ロジスティック回帰入門
ロジスティック回帰入門y-uti
 
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...y-uti
 
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識PHP-ML で手書き数字認識
PHP-ML で手書き数字認識y-uti
 
スパース推定
スパース推定スパース推定
スパース推定y-uti
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話y-uti
 
PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告y-uti
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用y-uti
 
JIT for PHP を試した
JIT for PHP を試したJIT for PHP を試した
JIT for PHP を試したy-uti
 
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告y-uti
 
RFC: "var" Deprecation
RFC: "var" DeprecationRFC: "var" Deprecation
RFC: "var" Deprecationy-uti
 
逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -y-uti
 
各言語の k-means 比較
各言語の k-means 比較各言語の k-means 比較
各言語の k-means 比較y-uti
 
Git 入門
Git 入門Git 入門
Git 入門y-uti
 
PHP5.3 を使うのはやめよう
PHP5.3 を使うのはやめようPHP5.3 を使うのはやめよう
PHP5.3 を使うのはやめようy-uti
 
プログラマのための文書推薦入門
プログラマのための文書推薦入門プログラマのための文書推薦入門
プログラマのための文書推薦入門y-uti
 

More from y-uti (18)

潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法
 
Active Object
Active ObjectActive Object
Active Object
 
目で見る過学習と正則化
目で見る過学習と正則化目で見る過学習と正則化
目で見る過学習と正則化
 
ロジスティック回帰入門
ロジスティック回帰入門ロジスティック回帰入門
ロジスティック回帰入門
 
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
 
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
 
スパース推定
スパース推定スパース推定
スパース推定
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
 
PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
 
JIT for PHP を試した
JIT for PHP を試したJIT for PHP を試した
JIT for PHP を試した
 
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
 
RFC: "var" Deprecation
RFC: "var" DeprecationRFC: "var" Deprecation
RFC: "var" Deprecation
 
逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -
 
各言語の k-means 比較
各言語の k-means 比較各言語の k-means 比較
各言語の k-means 比較
 
Git 入門
Git 入門Git 入門
Git 入門
 
PHP5.3 を使うのはやめよう
PHP5.3 を使うのはやめようPHP5.3 を使うのはやめよう
PHP5.3 を使うのはやめよう
 
プログラマのための文書推薦入門
プログラマのための文書推薦入門プログラマのための文書推薦入門
プログラマのための文書推薦入門
 

Recently uploaded

オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)Kanta Sasaki
 
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。iPride Co., Ltd.
 
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdfHarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdfMatsushita Laboratory
 
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHubK Kinzal
 
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdfAyachika Kitazaki
 
scikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみんscikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみんtoshinori622
 

Recently uploaded (6)

オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
 
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
 
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdfHarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
 
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
 
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
 
scikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみんscikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみん
 

PECL を数えてみた

  • 2. PECL The PHP Extension Community Library 2016-03-01 PHPBLT #3 2
  • 3. courierauth krb5 PAM radius sasl DTrace inclued memprof APC APCu apcu_bc chdb coherence hidef memcache memcached memorize varnish WinCache yac ZendOpcache augeas env yaconf zookeeper ncurses newt termbox tvision xmms gnupg libsodium mcrypt_filter scrypt xxtea cassandra couchbase CUBRID daffodildb dbase DBDO dbplus dbx drizzle filepro hwapi ibm_db2 informix ingres isis lchash leveldb maxdb mdbtools mongo mongodb mysql mysqlnd_memcache mysqlnd_ms mysqlnd_qc mysqlnd_uh notes oci8 odbtp Ovrimos Paradox PDO PDO_4D PDO_CUBRID PDO_DBLIB PDO_FIREBIRD PDO_IBM PDO_INFORMIX PDO_MYSQL PDO_OCI PDO_ODBC PDO_PGSQL PDO_SQLANYWHERE PDO_SQLITE pdo_sqlsrv pdo_user PDO_XML pq redis riak sqlanywhere SQLite sqlite3 sqlsrv tdb tokyo_tyrant date_time hrtime timezonedb dazuko fuse inotify mogilefs phdfs smbclient xattr html_parse tidy apfd json_post pecl_http txforward uri_template cairo cairo_wrapper framegrab FreeImage GDChart gmagick imagick imlib2 opencv pango qb rsvg SeasLog mailparse POP3 vpopmail big_int geospatial hdr_histogram lapack stats trader amqp apn ares cvsclient cyrus DBus esmtp event gearman geoip gRPC gupnp IMS ip2location ircclient kadm5 Mosquitto mqseries msession netools Net_Gopher ocal opendirectory perforce rdkafka sam spread ssh2 tcpwrap uuid yami yaz yp zeroconf zmq Bitset coin_acceptor cybercash cybermut mcve spplus TCLink domxml dom_varimport WBXML xmldiff xmlReader XMLRPCi xmlwriter xslcache axis2 hprose json jsonc jsond jsonnet oauth SCA_SDO xcommerce yar AOP apd APM automap bcompiler BLENC classkit docblock ffi funcall htscanner igbinary intercept llvm memsession memtrack meta mono operator optimizer params parsekit Parse_Tree pcs phar phk PHPScript postparser PreProcessor propro raphf runkit scream session_mysql strict tcc trace uopz uploadprogress vld xdebug bloomy Judy quickhash Weakref cld fribidi gender idn intl translit unicode unicodestring binpack clips crack crack_dll crypto fann filter functional graphdat hash huffman msgpack pcsc PECL_Gen protocolbuffers rsync SPL SPL_Types stomp svm udis86 Valkyrie xhprof xrange amfext rrd shape archive bz2 cpdf Fileinfo fpdf haru id3 lzf qqwry rar rpmreader syck yaml zip bz2_filter oggvorbis openal zlib_filter bbcode colorer doublemetaphone enchant ereg jsmin markdown namazu panda pdflib ps re2 ssdeep stem sundown TextCat xdiff ApacheAccessor dio expect fam printer proctitle pthreads statgrab sync threads w32api win32ps win32ps_dll win32service yaf svn eio ev libevent swoole php_xcb tk win32std WinBinder wxwidgets ecasound ming opengl sdl xmp FliteTTS KTaglib selinux taint clucene mnogosearch solr sphinx swish lua perl python spidermonkey v8js libvirt 登録モジュール数 2016-03-01 PHPBLT #3 3 2016-02-25 時点の情報 トップページからリンクを辿って到達できる HTML ページ数をカウントしたもの
  • 4. カテゴリ別モジュール数 2016-03-01 PHPBLT #3 4 Database 56 PHP 41 Networking 35 Tools and Utilities 24 Text 17System 15 File Formats 14 Caching 13 Images 12 Web Service 10 Internationalization 8 XML 8 File System 7 Math 6 Payment 6 Authentication 5 Console 5 Encryption 5 GUI 5 HTTP 5 Languages 5 Multimedia 5 Search Engine 5 Configuration 4 Event 4 Streams 4Structures 4Benchmarking 3Date and Time 3Mail 3Processing 3Audio 2HTML 2Security 2Logging 1Numbers 1Version Control 1Virtualization 1
  • 5. 登録モジュール数の推移 2016-03-01 PHPBLT #3 5 4.2.0 4.3.0 4.4.0 5.0.0 5.1.0 5.2.0 5.3.0 5.4.0 5.5.0 5.6.0 7.0.0 0 50 100 150 200 250 300 350 2002/1/1 2006/1/1 2010/1/1 2014/1/1 モジュール数 "Available Releases" の情報を集計したもの。情報のない 37 モジュールを除外, stable 以外のリリースも含む PHP のリリース日は http://www.php.net/releases による
  • 6. 月ごとのリリース数 2016-03-01 PHPBLT #3 6 0 10 20 30 40 50 60 2002/1/1 2006/1/1 2010/1/1 2014/1/1 リリース数 "Available Releases" の情報を集計したもの。情報のない 37 モジュールを除外, stable 以外のリリースも含む
  • 7. ソースコードリポジトリ 2016-03-01 PHPBLT #3 7 svn.php.net 145 github.com 110 git.php.net 41 記載なし 35 bitbucket.org 3 code.google.com 3 その他 13 "Browse Source" の URL を集計 「記載なし」は "Browse Source" が存在しないもの
  • 8. 最新リリースの時期 2016-03-01 PHPBLT #3 8 0 5 10 15 20 25 30 35 40 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 モジュール数 最新リリース年 (stable 以外のリリースも含む) svn.php.net github.com git.php.net リリースの無いモジュールは除外した 該当数:svn.php.net (21), github.com (2), git.php.net (3)
  • 9. ソースコード行数 2016-03-01 PHPBLT #3 9 3 79 181 46 4 0 20 40 60 80 100 120 140 160 180 200 0 1~1,000 1,001~10,000 10,001~100,000 100,001~ http://pecl.php.net/get/* で正常に取得できた 313 モジュールを対象 拡張子 .c, .h, .cc, .cpp, .hh のファイルを find と wc で集計 PECL_Gen crack_dll win32ps_dll crips (153,710) qb (265,259) gender (368,049) wxwidgets (983,756)
  • 10. テストファイル (phpt) 行数 2016-03-01 PHPBLT #3 10 126 3 34 81 58 11 0 20 40 60 80 100 120 140 0 1~10 10~100 100~1,000 1,001~10,000 10,001~100,000 http://pecl.php.net/get/* で正常に取得できた 313 モジュールを対象 拡張子 .phpt のファイルを find と wc で集計
  • 11. ソース行数 vs テスト行数 2016-03-01 PHPBLT #3 11 AOP APC APM CUBRID Cairo DBDOEcasoundFileinfoFreeImageIMSJsonNet Judy KTaglibLZF Mosquitto Net_Gopher PDO PDO_CUBRID PDO_DBLIBPDO_FIREBIRD PDO_IBM PDO_INFORMIX PDO_MYSQLPDO_OCIPDO_ODBCPDO_PGSQLPDO_SQLANYWHEREPDO_USERPECL_GenRSVG SAM SPL_Types SQLiteSeasLogStatgrabTCLink WINCACHEWeakref WinBinderamfext amqp apacheaccessor apcu apcu_bcapdapfdapn archive aresaugeas bbcode bcompiler big_intbinpackbitset blencbloomybz2bz2_filter cairo_wrapper cassandraclasskit cldclucenecoin_acceptorcolorer couchbasecourierauthcrackcrack_dll crypto cvsclientcybercashcybermutcyrus date_timedazukodbasedbplusdbusdbxdio docblock dom_varimportdoublemetaphonedrizzledtrace eio enchantenv esmtp ev eventexpectfam fann ffi filter framegrabfribidifuncallfunctionalfuse gdchartgearmangeoipgeospatial gmagick gnupg graphdatgrpcgupnp haruhashhdr_histogramhidef hprosehrtimehtml_parsehtscannerhuffman ibm_db2 id3idn igbinary imagick imlib2inclued ingres inotifyintercept intl ip2locationircclientisisjsmin json json_post jsoncjsond kadm5 krb5lapacklchashleveldblibeventlibsodiumlua mailparse markdown maxdb mcrypt_filtermcvemdbtools memcachememcached memoizememprofmemsessionmemtrackmnogosearchmogilefs mongomono mqseries msgpack mysqlnd_memcache mysqlnd_ms mysqlnd_qc mysqlnd_uh ncursesnetools newtoauthocal oci8 odbtpoggvorbisopenalopendirectoryopengloperator optimizerpam pandaparadoxparams parse_treeparsekitpcspcsc pdflib pdo_4d pdo_sqlsrv pecl_http perforce perl phar phdfs phkpop3 pq proctitlepropro protocolbuffers ps pthreads pythonqqwry quickhash radius raphf rar rdkafka re2 redis riak rpmreader rrd rsync runkit saslscreamscrypt sdlselinuxshapesmbclient solr sphinxspidermonkeyspplusspread sqlsrvssdeep ssh2 statsstemstompstrict sundown svm svn swish swoolesycksynctainttcctcpwrap tdb termboxtextcattidy timezonedbtktokyo_tyranttrace translittvisiontxforwardudis86 uopz uploadprogress uri_template uuid v8js valkyrie varnish vldvpopmailwbxmlwin32pswin32ps_dllwin32servicewin32stdxattrxcommerce xdebugxdiffxhprofxmldiffxmlreaderxmlrpcixmlwriterxmmsxmpxrangexslcachexxtea yacyaconf yaf yami yaml yaryazyp zendopcache zeroconf zip zlib_filter zmq zookeeper0 5,000 10,000 15,000 20,000 25,000 30,000 35,000 40,000 45,000 50,000 0 5,000 10,000 15,000 20,000 25,000 30,000 35,000 40,000 45,000 50,000 テストファイル行数 ソースコード行数 Module Source Test PDO_SQLITE 69,642 0 SCA_SDO 54,873 1,076 clips 153,710 0 gender 368,049 392 mongodb 75,145 12,334 qb 265,259 17,246 sqlite3 87,800 706 trader 90,270 11,099 wxwidgets 983,756 0 50,000 行を超えるモジュール
  • 12. ソース行数 vs テスト行数 2016-03-01 PHPBLT #3 12 AOP APM DBDO EcasoundFileinfo FreeImage IMS JsonNet Judy KTaglibLZF Mosquitto Net_Gopher PDOPDO_DBLIBPDO_FIREBIRD PDO_IBM PDO_INFORMIX PDO_MYSQLPDO_OCIPDO_ODBCPDO_PGSQL PDO_SQLANYWHERE PDO_USER PECL_GenRSVG SAM SPL_Types SeasLogStatgrabTCLink Weakref amfext amqp apacheaccessor apcu_bc apd apfd apn archive ares augeas bbcode bcompiler big_int binpack bitset blencbloomybz2bz2_filter cairo_wrapper classkit cld clucene coin_acceptorcolorer couchbasecourierauth crackcrack_dll crypto cvsclientcybercashcybermutcyrus date_time dazuko dbasedbplus dbus dbx dio docblock dom_varimport doublemetaphone drizzledtrace enchantenv esmtpexpectfam fann filter framegrab fribidi funcall functionalfuse gdchartgearman geoip geospatial gnupg graphdatgrpcgupnp haru hashhdr_histogram hidef hprosehrtime html_parse htscanner huffmanid3idn igbinary imlib2inclued ingres inotifyinterceptip2locationircclientisisjsmin json json_post jsonc jsond kadm5 krb5 lapack lchash leveldb libevent libsodium lua mailparse markdown maxdb mcrypt_filter mcvemdbtools memcache memcached memoize memprofmemsessionmemtrack mnogosearch mogilefs mono mqseries mysqlnd_memcache mysqlnd_uh ncursesnetools newt oauth ocal odbtpoggvorbisopenal opendirectory opengl operator optimizerpam panda paradox params parsekit pcs pcsc pdo_4d perforce perl phdfs phkpop3 pq proctitle propro protocolbuffers ps pthreads python qqwry quickhash radius raphf rdkafka re2 rpmreader rrd runkit saslscream scrypt sdlselinux shape smbclientsphinx spidermonkey spplus spreadssdeep ssh2 stomp strict sundown svm svn swish syck sync taint tcc tcpwrap tdb termbox textcattidy tk tokyo_tyrant trace tvisiontxforwardudis86 uopz uploadprogress uri_template uuid v8js valkyrie varnish vldvpopmailwbxmlwin32pswin32ps_dllwin32servicewin32std xattr xcommercexdiff xhprof xmldiff xmlreaderxmlrpci xmlwriter xmms xmp xrange xslcachexxtea yac yaconf yaml yar yazyp zeroconfzlib_filter zookeeper0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 テストファイル行数 ソースコード行数
  • 13. お約束 クローリングでは過剰な負荷をかけないよう注意しましょう 今回は以下のようにしました ◦ HTML ファイル 1 ページ取得ごとに 5 秒 sleep ◦ 拡張モジュール (.tar.gz) 1 モジュール取得ごとに 30 秒 sleep ちなみに ◦ http://pecl.php.net/get は robots.txt で Disarrow と記述されている 2016-03-01 PHPBLT #3 13