Large REBOL applications?
[1/3] from: dhsunanda::gmail::com at: 1-Dec-2008 20:07
LARGE REBOL APPLICATIONS? ========================= I saw this comment on Carl's blog a few weeks ago ....
> So far I have not seen any large projects implemented in Rebol.
... and got to thinking about how you'd go about measuring "large" in REBOL. So I've written a small script that attempts to generate some metrics about the size of applications: <http://www.rebol.org/script-information.r?script-name=application-sizer.r> PLEASE JOIN IN THE HUNT FOR LARGE APPLICATIONS ============================================== If you have the time, please run it against any applications you have, and publish the results here. It'd help show just how big REBOL applications can become. The script has documentation; and that documentation has the results of running application-sizer.r against the CGI scripts that run REBOL.org: <http://www.rebol.org/documentation.r?script=application-sizer.r> At 43,000 code lines, I thought it counted as fairly large, but Graham Chiu has already posted one 50% larger: <http://www.rebol.org/aga-display-posts.r?post=r3wp146x3030> That surely is not the biggest we can find! WHAT COUNTS AS LARGE ANYWAY? ============================ This is a good place too to suggest ways to produce more meaningful metrics. Thanks, Sunanda
[2/3] from: robert::muench::robertmuench::de at: 2-Dec-2008 12:37
Am 01.12.2008, 21:07 Uhr, schrieb Sunanda <dhsunanda-gmail.com>:
> So I've written a small script that attempts to generate some > metrics about the size of applications: > > <http://www.rebol.org/script-information.r?script-name=application-sizer.r>
Hi, cool stuff. Some comments: 1. The script itself should be skipped. Than it can be just run from an actual directory. 2. Please put the %./ as the default folder in the script, so that it can run out-of-the-box 3. Add the app-sizer/run and probe command at the end. 4. I'm using prebol a lot in my big app. So the files should be prereboled as well. Otherwise results are wrong.
> PLEASE JOIN IN THE HUNT FOR LARGE APPLICATIONS > ========================================= > > If you have the time, please run it against any applications you > have, and publish the results here. It'd help show just how big > REBOL applications can become.
Here is my application result: make object! [ folders: 1 files: 2 raw-bytes: 1690752 compressed-size: 396721 raw-lines: 30110 code-lines: 26330 elements: make object! [ string: [10677 256191] datatype: [3632 22230] number: [6178 10820] refinement: [894 5668] function: [29473 127244] comment: [50 1557] body: [61360 701524] whitespace: [112264 565518] ] element-definitions: ["comment" [ cmt ] "datatype" [ date! issue! money! pair! time! tuple! ] "number" [ decimal! integer! ] "refinement" [ refinement! ] "string" [ char! email! file! string! tag! url! ]] ] Lines of code is definetly wrong here, because I have a rebgui oneliner in it ;-) -- Robert M. Münch Mobile: +49 (177) 245 2802 http://www.robertmuench.de
[3/3] from: dhsunanda:gmai:l at: 3-Dec-2008 15:36
> Hi, cool stuff. Some comments:
> 1. The script itself should be skipped. Than it can be just run from an > actual directory.
Good point. There is now an... exclude-files:  ...block so you can explicitly say which of your scripts are not to be included. application-size.r is in that exclude list by default. You can also add RebGui.r or other script names to that block.
> 2. Please put the %./ as the default folder in the script, so that it can > run out-of-the-box
> 3. Add the app-sizer/run and probe command at the end.
Hmm, I decided not to -- so just loading the script does not start a potentially long trawl through perhaps the wrong folder -- that could look invasive.
> 4. I'm using prebol a lot in my big app. So the files should be prereboled > as well. Otherwise results are wrong.
I would do if I knew how. Please email or Altme me with some hints. Version 0.0.1 ----------------- Is now in the Library with Robert's suggested improvements. Also, it counts "functions" better. Previously, the count was of any-function? that is a very broad data type. We now count: * operator * native * action * function (ie any-function? other than operator!, native!, or action!) Also it counts: * object * image Plus a modified count of blank lines. New script here: <http://www.rebol.org/view-script.r?script=application-sizer.r> Updated documentation here: <http://www.rebol.org/documentation.r?script=application-sizer.r> Sunanda