Jump to content
Excelsior Forums


  • Content count

  • Joined

  • Last visited


Everything posted by MartinP

  1. Single EXE

    Hello, I've compiled my application with the Global optimizer set on, but the exe still needs some java-API dll-s. How to get linked them statically into the exe, too? I know that my application shouldn't need dynamical loading of classes, but without the jvm.dll, java.dll and hpi.dll it doesn't run. I'm confused by the documentation, because at one place there is written: "Global Optimizer detects the platform classes that are actually used by the application and compiles them along with the application's classes into a single executable." but at another place: "Excelsior JET is not able to create a single all-inclusive executable that can be deployed to target machines by simply copying." Which is true?
  2. Single EXE

    Hello, I'm returning ). I've tried it, and it works - to some extend. When detaching all JavaSE components, the RT directory "slims-down" from 20MB to 6MB, good. But by hand I'm able to cut the RT directory down to 100kB which is even better ). (It's an extreme example.) What contains the automatically reduced RT directory in addition to what I left there myself? Probably files necessary for downloading the .pkl file from the internet (there are some net, pkcs, dns etc files). But I knew at the beginning, and could tell to the packager, that the application doesn't need any extra files to download. Thus if there was a checkbox denoting that the application is "standalone", more garbage could be omitted from the RT directory.
  3. Today, the evaluation version, I've downloaded and installed 5 days ago, expired. I've tried a clean install on another computer of mine, but it behaves the same. The problem exhibits in JetPackII by showing the "This trial installation has expired" message after pressing the "Create!" button at the 9th step. The trial should be functional for 30 days, shouldn't it?
  4. Memory and GUI "response"

    Hello. First of all, I must say that my primary intention was to make my application independent on installed JRE - and Excelsior JET fulfills that. The other intensions were to make java applications less greedy on memory resources and more user responsive than is usual with JRE. However, in these points I'm not so sure, yet. What is the approximate application size from which the compiled application begins to get smaller memory footprint than original java? Conserning the GUI response, I don't know how exactly put the question. I've tested compilation of several programs, mainly of free games, they all were JARs of size bellow 1MB (including resources). The EXEs compiled and "globaly optimized" by Excelsior were usually of size about 10MB. I guess that if the original java apps were packed by a java wrapper instead (with unused parts of JRE cut off), I would get a similar disk impact. But what is more important, the memory footprint of the applications didn't change much (by 20-30% at max), neither their subjective speed (or rather slowliness). The explanation may be that the applications were too small to see a difference; or that java is in version 1.5 already optimal; or that the applications were badly written (what to expect from free apps);... I didn't try to compile an application of size of the Eclipse IDE, but maybe only then would I notice a difference? E.g. WebSphere Application Developer takes about 3 times more RAM than Visual Studio with a project of approximately equal size. Is it reasonable to expect that after using Excelsior, the memory impact of big compiled applications will be comparable with C++ apps? Thank you, Martin.
  5. Single EXE

    Thank you, I didn't notice those green and red squares in the "Deatched components" dialog. This would solve the issue. However I wasn't able to test it, as the trial version of JET expired, 5 days after installing it. I filled a bug.
  6. Memory and GUI "response"

    No, I'm just evaluating the "looses and gains" of compiled java programs from different aspects. And if a simple 40kB command-line tool (ZipSnap21) grows to 5MB (that is 100 times), it's...worth notice. When written in C++, the tool would fit into 100kB limit. But of course, I'm not going to rewrite it ). Development in java is much faster and more error-prone than in C++, but the resulting applications cannot match C++ apps in GUI responsivness and memory footprint. That is why I was hoping that compiling and optimizing them could help to narrow the gap. Concerning the memory footprint, I've taken your advice and compiled e.g. JEdit from the list. At the first run, Excelsior is the clear winner over JRE in GUI response times, after JRE "warm-up" there is no subjective difference. But the JET compiled version takes about 40MB RAM, while the JRE version takes 30MB. Comparable PSPad editor written probably in C/C++ takes about 15MB RAM. I wasn't able to check the download sizes because the trial version of JET expired, 5 days after installing it. I filled a bug.
  7. Single EXE

    Well, OK. ) Because the full RT directory has about 20MB. And as I need only part of it, I do want to cut off the rest. Though the compiler knows which DLLs I need, it's me who must to determine and delete the superficious RT DLLs, by hand.
  8. Single EXE

    I don't want to argue, you are surelly more an expert in this area than me. But resources are looked for in classpath, so it seems to me that it would be sufficient to search the exe too - which surely must be performed already. Do you mean lots of JET code, or lots of java code?
  9. Single EXE

    Thank you for your answer. Thus it should not be difficult to provide the C++ implementation in the .obj form, and link them to the .exe too ;-). We look forward to it ).