Re: Win32Lib overhead
- Posted by Robert Craig <rds at RapidEuphoria.com> Nov 28, 2002
- 387 views
Greg writes: > If I write a program using Win32Lib, then translate and compile it, > will there be an over head from all the declarations and > routines in win32lib.ew? Both the translator and the binder strip out all unnecessary code. For example, when I bind your textview program, it says: deleted 2154 of 3816 constants deleted 382 of 659 routines That still leaves a fair bit of necessary infra-structure for Win32Lib. > I'm trying to make my programs extremely portable, and some > of them come out to be in the range of 200K for faily simple apps. Using your textview as an example, bound .exe: 182,215 translated .exe: 642,560 translated and UPX'd .exe: 162,304 In comparison, if you compile a trivial console app: main() { printf("Hello World!\n"); } with Borland C++ for Windows, you'll get a 52K .exe file. The binder combines exw.exe, which is already compressed with UPX, with all your Euphoria source code in compact form - comments and whitespace stripped, variables shrunk to one or two bytes etc. This gives you a very compact .exe. With the translator, your program is converted to C and then to machine language. This is not very compact, but UPX will shrink it considerably. Translated code is faster, but if your program is heavy on GUI, and light on calculation, it might not matter. > I guess what I'm really asking is "Is Win32Lib or direct API > coding better?" Win32Lib is a lot easier. Others (Euman?) can comment better on the trade-offs. By the way, if you see a line at the end of Win32Lib.ew that is just two dashes: -- (and no new-line character), you will need to remove it before binding with 2.3. This problem has been fixed in the upcoming 2.4 binder. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com