참고로 이때의 메모리 사용율은 아래의 주소의 릴리스 데이터를 사용하였을때의 사용율입니다.

( 콤포저 사용하지 않은 상태. )

 

https://github.com/codeigniter4/CodeIgniter4

 

codeigniter4/CodeIgniter4

Open Source PHP Framework (originally from EllisLab) - codeigniter4/CodeIgniter4

github.com

그리고 이것은 앱스타터를 사용한 사이트..

( 앱스타터는 기본적으로 콤포저를 사용해야만 작동합니다. )

 

https://github.com/codeigniter4/appstarter

 

codeigniter4/appstarter

CodeIgniter 4 app starter. Contribute to codeigniter4/appstarter development by creating an account on GitHub.

github.com

그리고 이거는 처음거에 콤포저를 사용해서 install 을 해서 vendor 가 생긴상태입니다.

 

프레임워크라 되어있는것도 속도가 동일하던데, 아마 그것도 콤포저를 인스톨하면 메모리 사용율이 많이 줄어들거 같네요.

 

코드이그나이터 한국 포럼에 관련 내용을 봐서..

 

https://cikorea.net/bbs/view/free?idx=22002&page=1&view_category=&lists_style=

 

제안 - ci4 welcome 화면 메모리 사용량 공유

ci4 의 메모리 사용량이 생각보다 크게 나와서 제 시스템만 이런지 알고 싶어서 글 올립니다. 시스템 사양과 웹서버, php 버전과 ci4 설치후 welcome 화면의 메모리 사용량을 올려주세요. 댓글로 공유하겠습니다. 스크린샷은 안올리셔도 됩니다. 메모리만 올리

cikorea.net

나중에 새로운 버전이 나오면 한번 테스트 해봐야겠다 라고 생각을 했는데..

 

콤포저의 install 여부가 메모리 사용율을 많이 변동시키네요.

( 저 테스트 결과대로라면 그냥 아무거나 편한거 가져다 쓰고 콤포저 인스톨만 하면 될듯한.. )

 

반응속도 차이 자체는 크지는 않은거 같은데..

( 워차피 캐싱되니까.. )

 

메모리 사용율은 콤포저 install 의 여부가 상당히 차이가 나네요.

 

콤포저 없이 사용이라고 하면, 평균 2.7MB, 콤포저를 사용한다면 0.8MB라고 보면 될거 같네요.

 

PHP 추후 업데이트에 특정 라이브러리를 메모리로 올려서 쓰게해준다던데, 그거 나오면 의미가 없을지도 모르겠는데..

 

지금 확인해보니, php 7.4 지원 사항이네요.

( 생각난김에 이것도 테스트해서 올려둬야.. )

 

참고로 웹 호스팅에서 콤포저가 사용이 불가능한경우, 로컬 환경에서 콤포저로 파일들 가져와서 통째로 호스팅에 올려도 됩니다.

 

본인같은 경우도 현재 서비스 중인것들은 전부 로컬에서 셋팅해서 개발서버로 올려서 테스트하고, 테스트가 완료되면 깃으로 커밋해서 서버에 푸쉬해버립니다.

( 나 혼자서 쓰니까, 이렇게 셋팅했지, 협엽이면,, 어우,, 옛날에 깃충이 열심히 깃 써야한다고 해서 쓰세요~ 하고서 썻는데 반년만에 GG치고 깃따위 왜 쓰냐고 반대론자 된거 보고 미친듯이 웃었지.. 깃이 좋기는해.. 잘쓰면.. 근데 우리 주변에 잘 쓰는 개발자가 없어.. 쓰기 위해 교육을 해야하는데, 할 놈도 할 시간도 없지.. 이게 문제.. 헬조센 기업들의 고질병.. 이게 참 좋은데.. 하면서 즉시 전력이 되기를 원하니.. )

 

ps. 위에서 나왔던 php 7.4 의 opcache.preload의 테스트를 실행 한 리뷰가 있네요.

https://qiita.com/niisan-tokyo/items/ec4c918715d5ec754721

 

PHP7.4のpreloadいれたらLaravelは早くなるのだろうかと思って検証した - Qiita

皆さんこんにちは PHP7.4でpreloadが来るっていうので、ワクテカしているわけですが、実際どれくらい早くなるのかしらって思いまして、ちょうど色々検証していたので、Laravelでも軽くやっちゃおうぜって思ったので、やってみま...

qiita.com

이곳에서는 PHP7.4에 preload 기능이 들어갔으니, 라라벨로 테스트 해봤다! 라는 글입니다.

결과는 적혀있다시피, 약 10배정도의 반응속도를 보인다고 합니다.

 

실제로 파일 구조론을 재대로 배운 개발자라면, 저게 빠를 수 밖에 없;;

( 요즘 모 대기업에서 반도체 펌웨어 만드는 지인과 종종 C언어 대해서 토론을 하는데.. 참고로 필자는 포인터도 쓰는 사람;; 진짜로 파일 구조론부터 시작해서 배워두면 좋은데, 안배우는 개발자들이 많;; )

 

개인적으로 본인도 저 기능 보자마자 저거 기다리고 있었는데..

( PHP8의 JIT 기능도 기대중인데, PHP7.4에서 가장 기다리던게 저거고, 그 다음은 class 에서 private string $key 라고 선언 할 수 있었던거 기다렸지.. )

파일이나 그런걸 다뤄본 사람이라면 아시겠지만..

컴퓨터 시스템상에서 상당한 속도를 차지하는건 file open / file close 입니다.

즉, 저 open / close 만 줄여도 속도의 향상이 미친듯이 되는;;

( 근데 그 데이터가 메모리에 상주하면 더 빠를거고.. )

 

그래서 과거 속도 테크닉중에 하나의 파일에 함수 전부 때려박는다는 팁도 있었었죠..

( 요즘은 서버 성능이 좋아서 사장(?)된 팁이지만.. ??? : 아몰랑~ 돈때려박으면 다 해결됭~ 해결은 되지, 미친듯한 돈이 투입될뿐.. 요즘 빅데이터 때문에 MySQL에서 많이 보이던데 이런 현상.. )

 

저거는 PHP가 기본 함수들처럼 데몬이 돌아가는 동안에는 메모리에 올려두고서 대기시키는 기능으로 알고있습니다.

( 즉, php 에서 말하면 include 가 미친듯이 많은 프로그램들은 공통적인것들을 전부 메모리로 올려버리면 빠르게 반응이 됩니다. 일단 file open / file close 가 없어져서 속도에서 잇점도 있고, 한번 불러들인 메모리를 계속 재활용 하는거라;; 단점은 소스코드 수정 후 바로 반영이 안된다는거.. 왜냐면 메모리를 리셋하고 다시 불러들이게 해줘야해서;; )

 

그러니까 한번 서버에 올리면 버전업 패치를 하기 전까지는 수정이 되지 않는 프레임워크의 파일들을 설정하면 프레임워크의 속도가 빨라지게 됩니다.

( PHP 어플리케이션 쪽에서 개발을 병맛같이 하면 느리겠지만.. )

 

요즘 면접을 가봐도 그렇고..

개발자 커뮤니티도 그렇고..

PHP 가 곧 사장될거라고 다른 언어나 배우라고 하는 곳들이 많은데..

( 20년째 곧 사장될 언어 PHP )

 

PHP가 발전이 없다는 사람들도 많고..

PHP 진영은 회심의 일격을 날리기 위해서, 여러가지로 대격변을 하고 있는데..

( 오히려 요즘은 자바충들이 위축되고 있다고 보는데 나는??? 아직도 자바충들 시끄럽더라 면접가면.. )

아직까지도 PHP 5, 최신이라고해야 PHP 5.6 시절 이야기를 하면서 그러는건 좀..

현재 PHP 7버전과 PHP 8버전에 대한 마일 스톤들은 보기나 하는건지..

 

정작 PHP 7버전대에서 적용된 기술들 재대로 적용하고, 활용하기 시작하면 PHP 진영 진입장벽이 미친듯이 높아질거 같기는 한데..

( 현실은 뭐.. 레거식이지.. MVC 패턴이라고 하면서 MVC 패턴 진짜로 쓰는 회사 별로 못봤으니.. )

 

참고로 해당 기능의 설명은 이쪽을 보시기 바랍니다.

https://wiki.php.net/rfc/preload

 

PHP: rfc:preload

PHP RFC: Preloading Introduction PHP has been using opcode caches for ages (APC, Turck MMCache, Zend OpCache). They achieve significant performance boost by ALMOST completely eliminating the overhead of PHP code recompilation. With an opcode cache, files a

wiki.php.net

그리고 보니까 전에 면접에서 PHP 7에서 변동점이 뭐가 있는지 알기는 하냐고 자신감있는 깔보는 표정으로 질문하길래 여러가지 이야기 해줬더니, 이해를 못하더라,,

모르니까 대충 둘러대지 말라고,,

뭔가를 아는놈이어야 역습을 해도 하는 재미가 있지,,

( 요즘 이름있는 회사 CTO라는 사람들이 이러고 있더라.. 잘 모르는건 왜 질문하는건지.. )

Posted by Pure Ani

RE:D Cherish! -Eternity Blood- CRYSTALiA

放課後シンデレラ2 HOOKSOFT

花鐘カナデ*グラム NanaWind

フタマタ恋愛 ASa Project

スタディ§ステディ2 ま~まれぇど

リンパにATATA! ~メス牡蠣ミルクどぴゅらっしゅ~ Hending

創作彼女の恋愛公式 Aino+Links

流星ワールドアクター Heliodor

Secret Agent~騎士学園の忍びなるもの~ ensemble

天冥のコンキスタ エウシュリー

HaremKingdom -ハーレムキングダム- SMEE

ラズベリーキューブ まどそふと

ノラと皇女と野良猫ハート2 -Nora, Princess, and Crying Cat.- HARUKAZE

『ノラと皇女と野良猫ハート2』応援中♪

ピュアソングガーデン PULLTOP

はにデビ! Honey&Devil eufonie

姫繰三六五 HIMEKURI365

姫繰三六五 公式ウェブサイト

はるるみなもに! クロシェット

死に逝く君、館に芽吹く憎悪 バグシステム

Sanguinea-サングイネア- すにぃる

麗華の館 しすたーそふと

カスタムメイドオンライン KISS