http://blog.naver.com/PostView.nhn?blogId=seo330&logNo=150007551250

'computing > programming' 카테고리의 다른 글

perl로 게임만들기  (0) 2013.02.02
C#과 JAVA  (1) 2013.01.28
웹개발 도서모음  (0) 2013.01.25
Perl, Python, Ruby, PHP, C, C++, Lua, tcl, javascript, Java 성능비교  (0) 2013.01.25
Perl 공부하기  (1) 2013.01.25
The most popular Perl web sites  (0) 2013.01.25
Posted by Corealight

댓글을 달아 주세요

각종언어에 대한 벤치마크 비교

포커스가 문자열을 얼마나 빠르고 메모리 효율적으로 처리하느냐에 맞춰져 있는데..

이렇게 비교를 한 이유가 대부분의 현대적 어플리케이션의 주작업은 문자열을 다루는 것이며
수치계산은 하드웨어 의존적인 면이 있고 컴파일된 native한 코드가 아닌경우 어떤 언어라도
많은 계산을 하기에는 충분히 성능이 나지 않기 때문에 빠른 계산이 필요하다면 컴파일된
native한 코드를 쓰던지 써드파티 수치계산 라이브러리를 각 언어에 붙여 쓰게 되는데
그렇게 하면 언어간 비교가 아니라 수치계산라이브러리의 성능비교가 되기 때문에
의미가 없다.... 뭐 이렇다고 함

성능비교뿐만 아니라 끝부분에 각 언어에 대한 비평도 읽어볼만 함.. 

http://onlyjob.blogspot.com/2011/03/perl5-python-ruby-php-c-c-lua-tcl.html

속도에서는 스크립트 언어인 Perl이 C/C++보다 더 빠르다는게 신기..
Java는 의외로 실망스런수준이고(아마도 Buffered String을 쓰면 그나마 나아지리라 생각하지만....)

* 제일 빠른 Perl속도를 1로 했을때 언어별 상대적 속도 비교표(숫자가 작을수록 빠름)

Line size KibPerl5PHPRubyPythonC++ (g++)C (gcc)Javascript (V8)Javascript (sm)Python3tclLuaJava (openJDK)Java (Sun)Java (gcj)
Average:13.845.215.593.891.233.2319.6613.9221.3534.3631.1631.12247.32

'computing > programming' 카테고리의 다른 글

C#과 JAVA  (1) 2013.01.28
웹개발 도서모음  (0) 2013.01.25
Perl, Python, Ruby, PHP, C, C++, Lua, tcl, javascript, Java 성능비교  (0) 2013.01.25
Perl 공부하기  (1) 2013.01.25
The most popular Perl web sites  (0) 2013.01.25
루비온레일즈  (0) 2013.01.25
Posted by Corealight

댓글을 달아 주세요

  

*nix를 오래도록 사용해오면서 너무나 쉽게 만날 수 밖에 없는 언어 perl. 너무나 당연하게도 perl 또한 오래도록 사용해 왔으나 필요할 때 마다 필요한 부분을 습득하고 이해하고 사용해 왔다. 그랬던 터라 아직 알지 못하는 부분도 많이 존재할 것이고, 잘못 알고 있는 부분도 있으리라 생각된다. 그래서 블로그에 글으로 남기면서 지적을 받아 잘못 알고 있는 부분도 바로 잡고, 이번 기회를 통해 제대로 배워보려고 한다.
 
다만, 꾸준히 진행하기는 어려우나 지속적으로 기초정도의 이야기가 끝날 때까지는 반드시 완수한다.!!
 
참고로 아래 내용은 Perl 5에 기초하고 있으며 특정 기능이 정확히 어느 버전부터 동작하는지에 대한 여부를 정확히 알지 못하니 이 목록에 있는 글들을 참고하고 계시는 분이 계시다면 죄송합니다. 이 글 들을 작성을 시작했을 때 제가 사용했던 perl version은 아마도 5.10.1이며, 현재 5.17.1입니다.
 

목록
 
01. 설치는 해야 사용할 것 아니겠어?
+ Perlbrew link
 

02. 프로그래밍 언어 배울 때 누구나 해 보는 이것!!
+ Hello World link
 

03. 스칼라? 백터와 달리 방향성 없는 값? 대체 뭘 이야기하는 거지?
+ Scalar Data link
 

04. 변수. 값이 변한다는 건가? 아니면 값을 저장한다는 거?
+ Scalar Variable #1 link
+ Scalar Variable #2 - Automatic Conversion link
 

05. 문법을 잘 몰라서 그러는데 좀 엄격하게 제한 받을 순 없을 까?
+ use strict link
 

06. 변수에도 삶과 죽음이 있다고?
+ Variable Scope link
 

07. 값을 하나만 저장하는 게 아니라 연속적으로 잔뜩 저장할 순 없을 까?
+ Array Variable #1 link
+ Array Variable #2 link
+ Array Variable #3 - stack, queue with array link
 

08. 잠시 쉬어갑시다. 시간은 어떻게 표현할 까?
+ Time expression link
 

09. 값 저장할 때 말이야. 내가 원하는 키워드로 값을 저장할 순 없나?
+ Hash Variable link
 

10. 뭐라고? 값이 정해지지 않았는데 사용할 수 있다고?
+ undef, use warnings link
 

11. 다른 값을 가르키는데 사용한다고? 음 쓸 때가 있긴 할 까?
+ Reference #1 - Intro + for scalar variable and data link
+ Reference #2 - for array variable and data link
+ Reference #3 - two-dimensional array with reference link
 

12. 프로그램이 위에서 아래로만 수행되네.. 다르게는 안되는 건가?
+ Control Structure #1 - if() link
+ Control Structure #2 - while(), for(), foreach() link
+ Special variable - $_ link
+ Control Structure #3 - unless() link
+ Control Structure #4 - until() link
+ Control Structure #5 - if(), unless() as postfix notation link
+ Control Structure #6 - operator: last, next, redo in loop link
+ Control Structure #7 - Labeled Block
 

13. 특정 일을 하는 녀석을 하나의 단위로 만들어 두고 계속 불러 쓸 순 없을 까?
+ Subroutine #1 - declare, invoke, return value link
+ Subroutine #2 - Arguments, @_ link
+ Subroutine #3 - state variable link
 

14. 입력이랑 출력이랑 친구해야지…
+ Stardard Stream link
+ I/O #1 - Input from STDIN link
+ I/O #2 - Output to STDOUT link
+ I/O #3 - Open & Close a File link
+ I/O #4 - Read & Write a File link
+ I/O #5 - Read command-line arguments, <> link
 

15. Perl은 문자열처리가 뛰어나다며, 문자열을 어떻게 요리하면 되는 건데?
+ Regexp #1 - Introduction link
+ Regexp #2 - Precedence #1 link
+ Regexp #3 - Precedence #2 link
+ Regexp #4 - Pattern Match #1 - Find link
+ Regexp #5 - Pattern Match #2 - Extraction link
+ String #1 - Substitution link
+ String #2 - Split & Join link
 

16. pack/unpack? 무슨 짐을 싸고 푼다는 거야? 다른 말인 가?
+ Pack/Unpack link
 

17. Perl은 누가 잘 만들어둔 걸 가져다 쓰는 쉬운 방법 없어?
+ Core Module #1 - Intro. link
+ Core Module #2 - Object-Oriented link
 

계속 Update 될 것입니다.
 


출처 : http://eriny.net/p/easy.perl5

Posted by Corealight

댓글을 달아 주세요

  1. yukinpl 2013.07.30 00:47 Address Modify/Delete Reply

    안녕하세요 eriny.net에서 ntree를 운영하고 있는 yukinpl입니다.
    다름이 아니라 제 블로그에 있는 글을 그대로 복사하셔서 글로 작성해두셔서 이 글을 내려달라고 말씀드리려고 왔습니다.
    목차에 해당하는 글이니 글을 복사하시는 것보다 그냥 링크주소를 보관하시면 좋겠습니다.

The most popular Perl web sites

Have you ever wondered which Perl-related sites have the biggest audience?

I checked it now.

Made a couple of groups. The number on the right is the rangking of the specific web site among all the web sites in the world.

Community web sites

cpan.org9,565
perl.org15,791
perlmonks.org19,809
metacpan.org208,445
pm.org261,963
perl-community.de360,552

Perl based products

twiki.org125,048
otrs.org156,991
dadamailproject.com171,248
template-toolkit.org353,844
webgui.org378,081
foswiki.org396,906

Web frameworks

perldancer.org446,593
catalystframework.org546,849
mojolicious.org2,733,381

Perl 6 related sites

perlgeek.de878,605
perl6.org1,140,686
perl6maven.com1,238,252
rakudo.org1,721,581

Personal

perl.com187,126
modernperlbooks.com562,587
szabgab.com610,988
shlomifish.org763,238
perlgeek.de878,605
perl-begin.org1,209,793

The source

It is not an absolute measurement, but Alexa provides some interesting data on web sites. Specifically it provides some estimates on the traffic each site receives.

For most of the domains, Alexa has no listing for the separate sub-domains. So there is no separate ranking of perldoc.perl.org and blogs.perl.org, but within theAlexa listing you can usually see how the visitors are divided between the subdomains.

The sites of blogspot.com and wordpress.com are exceptions. For these sites Alexa understands that each subdomain is a stand-alone site and can provide the traffic data separately.

The future

This is not the first time I have collected these numbers and not the last. I am going to check these numbers every month and update the listing.

Published on 2012-09-08 by Gabor Szabo

Posted by Corealight

댓글을 달아 주세요


Catalyst Framework 가이드 이상의 책 - The Definitive Guide to Catalyst

Catalyst Book
Kieren Diment and Matt S Trout, The Definitive Guide to Catalyst, Apress, 2009
Catalyst Framework 관련 책은 별로 없어서 그간은 2007년에 나온 "Catalyst: Accelerating Perl Web Application Development" 밖에 찾을 수가 없었다. 하지만 이미 2년 전에 출간된 책이라 그런지 군데군데 내용이 최신의 Catalyst Framework와 다른 점도 있어서 온라인에서 관련 문서를 찾아가면서 읽어야 했다. 그러다 새로 Catalyst Framework에 관한 책이 나왔다는 Amazon 추천에 낚여 이 책을 샀다. 결과는 아주 만족이다. 한마디로 평하자면 이 책은 Catalyst Framework 가이드 이상의 책이다.
Perl의 기초 문법과 사용법은 알고 있지만 실제로 어떻게 프로그래밍을 할지는 좀 막막할 때 이 책은 훌륭한 길잡이가 될 수 있을 것 같다. 이 책은 Catalyst Framework 설명서라지만 Perl로 어떻게 프로그래밍을 하는지 보여주는 책이기 때문이다.
나는 온라인 이곳저곳에 떠도는 문서로 대충 Perl을 사용하고 있다가 한번 제대로 공부해 보고자 마음을 먹고 최신 Perl의 내용을 충실히 담고 있는 입문서라는 "Beginning Perl"로 공부를 시작했다."Elements of Programming with Perl"과 "Intermediate Perl"을 거치면서 대략 문법과 기초적인 도구 사용법은 아는 정도가 아닌가 생각하고 있었다. 하지만 실제 Perl로 무언가를 하기는 여전히 어려웠는데 때마침 좋은 책을 만난 거 같다.
이 책은 CPAN 환경을 설정하고 모듈을 설치하는 데서부터 시작하여 Moose를 이용하여 객체 지향적인 코드를 짜는 법, perl의 각종 도구를 이용하여 코드를 생성하고 검증하는 법, 테스트를 만들고 실행하는 법 그리고 디버거로 프로그램을 디버그하는 등 Perl로 프로그래밍하는 여러 좋은 방법들을 보여 주고 있다. 간단한 기능을 구현하고 테스트로 검증하며 여기에 점점 기능을 붙여 나가면서 이를 적절히 모듈화하고 그때마다 테스트로 검사 및 확인하는 과정을 따라가며 고수가 프로그래밍하는 모습을 옆에서 바라보고 있는 느낌이다. 이 책을 공부하며 실제 업무에도 응용하여 몇 가지 프로그램도 만들 수 있었다. 한마디로 이 책을 공부하며 Perl로 프로그래밍하는 실력이 한 단계 상승한 느낌이다.
다만 아쉽게도 Catalyst Framework 자체에 대한 설명이 체계적이진 못한 느낌이다. Catalyst Framework 전반을 다루고 있긴 하지만 체계적으로 다루고 있진 않기 때문에 이곳저곳에 흩어져 있다. 온라인에 있는 Tutorial과 매뉴얼 등으로 보충하는 것이 좋을 듯 싶다.
웹프로그래밍을 해 본 사람이 Perl을 배우고 싶다면 이 책도 꼭 보는 게 좋을 듯싶다.


Posted by Corealight

댓글을 달아 주세요

Catalyst vs Rubyonrails

Catalyst vs Ruby on Rails
|  | Comments (1) | TrackBacks (0)






Ruby on Rails는 Perl, Python에 밀려  그렇게 주목받지 못하던 Ruby라는 언어를 화려한 주류언어의 무대로 끌어올린 대표적인 스타 웹프레임웍이다.

Perl하면 옛날의 CGI기반 게시판 등 고리타분 한 인식을 가진 사람들도 있겠지만 그건 호랑이 담배피던 시절 이야기고 현재에는 Perl에도 Ruby on Rails 못지않은 많은 MVC기반 웹 프레임웍들이 존재한다. 그중에서 제일 대표적인 것이 Catalyst인데 최근 Ruby on Rails와 Catalyst의 성능을 비교한 흥미로운 글이 있어 소개하려고 한다.

예전 2009년 4월 Victor Igumnov란 사람이 Catalyst vs Ruby on Rails의 성능을 비교한 글이 있었는데 그때 당시 결과는 Ruby on Rails 가 Catalyst 보다 약 62%정도 빨랐다. 그래서 인터프리터의 성능이 여타 언어보다 빠르다고 알려진 Perl이 비교적 느리다는 Ruby에서 구현된 웹프레임웍 보다 성능이 떨어지는데 의문을 품고 분석한 결과 Catalyst의 Controller구현에서 다중상속에서 메소드의 연속적 호출에 쓰이는 NEXT 모듈의 병목 때문에 성능이 떨어짐을 알아내고 Catalyst개발자에게 알려 이것을 새로운 C3 모듈로 교체하여 성능을 개선했는데

그 후 이런 개선사항이 반영된 새로운 Catalyst 5.8 버젼으로 다시 둘의 성능을 비교했더니 놀랍게도 Catalyst가 single process일때 Ruby on Rails 보다 135%, forking 된 multi process 환경에서는 471% 빨랐다고 한다.

Catalyst는 약간의 진입 장벽은 있지만 여타 프레임웍과는 다르게 ORM과 Template엔진을 필요에 따라 여러 가지로 교체해서 사용할 수 있어 개방적이고 확장성이 뛰어나다고 알려져 있다.

그런데 벤치마크결과에서 더 놀라운 것은 성능이 대폭적으로 향상된 Catalyst 5.8은 예전 5.7대 버젼에서는 OOP구현을 위해 Class::Accessor::Fast 라는 모듈을 사용한데 반해Moose 라는 Meta Object Protocol 기반의 진보된 OOP프레임웍으로 교체하였다는 것이다. Moose는 다소 번거로움이 많았던 Perl OOP구현을 어느 언어보다 편리하고 획기적이며 진보적인 방법으로 할 수 있도록 발전시킨 OOP프레임웍으로 다소 메모리를 좀 더 소비하고 속도가 떨어진다는 비판을 받았는데 Moose가 기반이 된 Catalyst 5.8의 성능이 이 정도로 나오는 걸 보면 그런 걱정은 기우에 지나지 않았나 생각된다.

Catalyst가 쓰이는 대표적인 서비스로는 일본 최대의 Social Network 싸이트인 mixi, 세계 최대규모 도색 동영상 싸이트 중 하나인 Youporn( Alexa 싸이트순위 44위 참고로 우리나라 최대 포털 naver는 60위권) 영국 BBC의 BBC NewsBBC iplayerVoxTicketmasterShopzilla, Takkle, Editgrid, IUseThis, MighTyV 등이 있다. ( Site running Catalyst )

Perl Catalyst 한 번 해보시지 않으시겠습니까?

참고: 또 다른 Catalyst vs Ruby on Rails 자료.

출처 : aero 님 블로그

Posted by Corealight

댓글을 달아 주세요