Django seems like a fairly large project including a built-in admin-interface, internationalization and localization features in addition to other standard functionality as in Rails (templating, dispatcher, ORM, request processor). At first hand it seemed like Django would be a bit bloated compared to Rails considering the additional features it provided. The results when using cloc is contradicting my initial assumptions.
First we have the as-of-writing latest version of Rails:
[diamond:~/dev/rails]% git log | head -n 7
commit a7ea06b4ebe252e258f83e7de945b4baa30ec3bc
Author: Jacek Becela
Date: Thu May 8 13:47:24 2008 +0200
Make render shorthands work with namespaced controllers
Signed-off-by: Pratik Naik
[diamond:~/dev/rails]% cloc --exclude-dir=.git .
1383 text files.
1354 unique files.
309 files ignored.
http://cloc.sourceforge.net v 1.03 T=8.0 s (143.8 files/s, 20227.0 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code scale 3rd gen. equiv
-------------------------------------------------------------------------------
Ruby 1040 18758 24739 102037 x 4.20 = 428555.40
Javascript 17 1930 870 11770 x 1.48 = 17419.60
YAML 81 129 93 1017 x 0.90 = 915.30
HTML 6 41 3 322 x 1.90 = 611.80
CSS 4 9 3 45 x 1.00 = 45.00
SQL 1 6 0 43 x 2.29 = 98.47
Bourne Shell 1 0 0 1 x 3.81 = 3.81
-------------------------------------------------------------------------------
SUM: 1150 20873 25708 115235 x 3.88 = 447649.38
-------------------------------------------------------------------------------
Then the latest version of Django (from the Mercurial mirror):
[diamond:~/dev/django-trunk]% hg tip
changeset: 5420:3762db44f8cd
tag: tip
user: russellm
date: Sat May 10 13:19:19 2008 +0000
summary: Removed mark_safe from the saved request path on the admin login
form. This prevents a potential XSS attack. Formal announcement
will be forthcoming.
[diamond:~/dev/django-trunk]% cloc --exclude-dir=.hg .
813 text files.
808 unique files.
2119 files ignored.
http://cloc.sourceforge.net v 1.03 T=3.0 s (208.3 files/s, 26209.3 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code scale 3rd gen. equiv
-------------------------------------------------------------------------------
Python 522 10295 4947 59394 x 4.20 = 249454.80
Javascript 13 106 258 1447 x 1.48 = 2141.56
HTML 72 274 6 1283 x 1.90 = 2437.70
CSS 11 60 59 354 x 1.00 = 354.00
make 1 11 4 53 x 2.50 = 132.50
XML 4 0 0 41 x 1.90 = 77.90
Bourne Shell 1 4 7 17 x 3.81 = 64.77
SQL 1 1 0 7 x 2.29 = 16.03
-------------------------------------------------------------------------------
SUM: 625 10751 5281 62596 x 4.07 = 254679.26
-------------------------------------------------------------------------------
Counting only code lines Django is 54% the size of Rails. Due note that this is highly unscientific. Rails provides features that Django don’t (ActiveResource for instance).
No comments:
Post a Comment