D
dbeavon
Guest
Our proxygen operation has gotten extremely slow. Are there any plans to improve it? If nothing else, can't Progress design some of their tooling to allow better use of the CPU cores? It seems to me that they often forget that a modern CPU is not limited to working on one application thread at a time. I ran "process monitor" and "process explorer" to investigate what bproxygen.bat is actually doing, and I was somewhat shocked at the contorted way in which it generates a proxy dll for appserver. It starts with a basic java application (com.progress.open4gl.proxygen.Batch). But soon afterwards you see that there is an astonishing number of other processes that are started and stopped for the duration of the operation, including but not limited to : csc.exe xsd.exe PathFinder.exe Even custom datasets and temp-tables are individually compiled into their own distinct processes and then executed. One of the final operations is to compile all the intermediate results into a appobject assembly. This builds out a massive command line string and sends it to the compiler (csc.exe). We've found that this command line string has a limit (I think it is 32 or 64 KB of characters or something along those lines). Because of the limit on the command string, the compilation operation will fail depending on the current directory location on disk in which bproxygen.bat is doing its work. For example, if you are working in the folder C:\Data\Workspace\Progress\OpenEdge\MyVeryLongProjectName\AppServer\Proxy\Oemodule\ThisProxy_001.r then the fully qualified directory name will be multiplied endless times and sent to csc.exe in a super-long command string. That causes failures. But if you move ThisProxy_001.r back to a shorter path (c:\Temp\Short\ThisProxy_001.r) then it allows more stuff to be included in the proxy dll. Is anyone aware of plans to improve proxygen? I am happy that Progress is investing in PASOE (and in the proprietary APSV transport), but the client-side tooling is long overdue for improvement. I'm not sure if we've seen any substantial improvement in Proxygen for many years (maybe ten or more). I'd agree that it is hardly a glamorous thing for Progress to work on, but as a developer I run this numerous times a day and it is a very tedious and time-consuming part of my day. If Progress gave this even a little bit of attention, it would be very much appreciated.
Continue reading...
Continue reading...