Path: news.mathworks.com!newsfeed-00.mathworks.com!panix!bloom-beacon.mit.edu!news2.wam.umd.edu!elk.ncren.net!newsflash.concordia.ca!canopus.cc.umanitoba.ca!not-for-mail
From: roberson@ibd.nrc-cnrc.gc.ca (Walter Roberson)
Newsgroups: comp.soft-sys.matlab
Subject: Re: MatLab Compiler
Date: Wed, 27 Jun 2007 20:29:17 +0000 (UTC)
Organization: National Research Council Canada - Conseil national de rechereches Canada
Lines: 32
Message-ID: <f5uhat$sce$1@canopus.cc.umanitoba.ca>
References: <ef5b10f.-1@webcrossing.raydaftYaTP> <ef5b10f.21@webcrossing.raydaftYaTP> <ef5b10f.22@webcrossing.raydaftYaTP> <ef5b10f.24@webcrossing.raydaftYaTP>
NNTP-Posting-Host: origin.ibd.nrc.ca
X-Trace: canopus.cc.umanitoba.ca 1182976157 29070 192.70.172.160 (27 Jun 2007 20:29:17 GMT)
X-Complaints-To: abuse@cc.umanitoba.ca
NNTP-Posting-Date: Wed, 27 Jun 2007 20:29:17 +0000 (UTC)
Originator: roberson@ibd.nrc-cnrc.gc.ca (Walter Roberson)
Xref: news.mathworks.com comp.soft-sys.matlab:416087


In article <ef5b10f.24@webcrossing.raydaftYaTP>,
Ender  <jr147@msstate.edu> wrote:

>Could you explain what this means. How is it easier to have a
>compiled excutable draw on the functions in the Matlab Component
>Runtime environment, than to have to code all those functions
>separately into the executable. I thought the executable was my
>compiled code. I also understand that my executable will perform the
>actions that are written into the compiled program, but I am confused
>about what you said about the MatLab component Runtime part. I don't
>have much experience compiling functions so if you could clarify this
>for me please do.

If you only have one compiled matlab application installed on a system,
then the two possibilities are pretty much equivilent. If, however,
you want to have two or more compiled matlab applications installed
on the same system, then the bulk of the matlab runtime
(all the built-in features) would end up compiled into each of
the executables in what you propose -- which would needlessly duplicate
that functionality. So to make it efficient to have multiple
compiled Matlab applications on the same system Mathworks compiles
your code down into a bunch of calls to the Matlab innards, and it
shares a single copy of those Matlab innards between all the different
compiled matlab applications [that are compiled with the same Matlab
version.]

If everything were to get merged into one executable so that there
would be only one thing for you to send, then that one executable
would end up being 150 Mb plus the size of whatever your part was.
-- 
  "law -- it's a commodity"
                         -- Andrew Ryan (The Globe and Mail, 2005/11/26)