Re: RDS vs Compiled?
Posted in 1997
Topics: Performance & Tuning, Connectivity: ESQL/C, 4GL & Embedded SQL
Your guess would be quite incorrect. As far as runtime speed there are situations, believe it or not, where RDS is faster than compiled code. You really don't take a hit on runtime speed. Where you take the hit is program load. Since the interpreter has to resolve all the function calls and addresses when it loads the program you take a substantial hit when you have large programs. There seems to be a point where you really take hit and if memory serves me correctly it is when your program file exceeds about 1.5 meg and approaches the 2 meg mark. You are also incorrect in saying that the link throws away unwanted codes from the executable. True that it won't include a .o that has no functions in it called. But if you have 20 functions in the .o and only one is called you get the entire .o linked. This is generally a good thing because most of us tend to put functions that work together and need each other in the same compilation unit. Endura Software, formerly FourGen, has an excellent RDS librarian and linker that works very much like the C libraries and linker. They may be willing to sell or give you the shell scripts and makefiles that implement this functionality. Shoot some email to mikes@fourgen.com if you are really interested and mention that you heard it from me. HTH, Perry Dillard Shop Floor Solutions, Inc. On 1 Oct 1997 23:07:15 GMT, rslp@bcg.bad.com (Rs) wrote: >I take it you mean 'do I need the C compiler' ? RDS is an interpreter >and comes with it's own debugger. So you do not need C or any compiler. >The tradeoff is developement speed vs runtime speed. Usually, people >develop using RDS, and then compiles it using the C4GL towards the end. > >The other reason to consider C4GL is the ease of building libraries as >the project gets larger. In RDS, if you want to link a.4gl and b.4gl, >you do the following 'cat a.4go b.4go > bigger.4go'. Some point on, functions >in b.4go that is not necessary will get included into bigger.4go making the >file large and bulky. In C4GL, all files are *.o, and maintaining a >library is exactly the same how you would in C. The linker does the >job of discarding away unwanted codes from the executable. > >As to the performance hit, I would guess to be about 20%. > >SJE2967 (sje2967@aol.com) wrote: >: If I buy RDS 4gl from Informix do I need the compiler? >: Also, what kind of performance hit will I take running RDS. >: >: >: Steve >: sje2967@aol.com