discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Observations and Issues With Gstep Win32


From: mcg
Subject: Re: Observations and Issues With Gstep Win32
Date: Tue, 23 May 2006 21:12:26 -0400

Hi Christopher
Thank you for the helpful insights.

With the help of a graduate student in my lab, we figured out how to get the program to run "standalone". I will try to add this to the Wiki in the future, but basically we: 1. Copied the gnustep-base.dll, libiconv-2.dll, obc.dll to \WINDOWS \system32 2. Created a ".BAT" file with the command line parameters for running the program
3. Double-click the .BAT file to start the program.

So now we are looking into whether the licenses for these libs will allow us to package them up with our program (which is permissive opensource) into a windows installer program. That way, it would be truly standalone. I'll report back how that goes. If anyone else has insight into the licensing, it would be very helpful.

I found out a bit more about the speed issues - part of it is memory allocation. Our program does many realloc-type operations using NSMutableData as it loads data from a file. Making this fine-grained on Linux and OSX doesn't seem to impose much performance penalty. However, in Windows, when I changed this to be much coarser-grained (i.e. reallocing much larger amounts at a time), it ran substantially faster. It is still 2-3x slower than Debian on the same machine, but that's an improvement over 10x slower. So, anyway, your ideas about this having to do with heap-checking are probably right. I'll try checking the detailed compile output as you suggest as soon as I get a chance.

Thanks again,
Morgan

On May 23, 2006, at 7:15 PM, Christopher Armstrong wrote:

Hi Morgan

- It is *very* slow on Win32 (Win XP). I have Win XP also running on a virtual machine using Parallels, and other operations are quite snappy. But the program operation is about 10-fold slower on Windows. I don't know why... The processor intensive stuff has been highly optimized to
minimize objective-C message passing, so I don't think it's due to
that.  Any ideas?  For this I am using the downloadable installer
version of Gnustep.  As I am writing this, I am now attempting a
compile/install of Gnustep from SVN on windows, and have all fingers
crossed that this won't turn into chaos.


There's the possibility that the slow program operation could be due to mingw. I guess if you were able to profile the code, it may be possible to port significant parts to native Window's API's. Also, IIRC, Microsoft's C runtime (MSVCRT, used by mingw) has extensive heap checking facilities (amongst other things) that may be turned on either in the compiled GNUstep binaries (or possibly your own code). I do believe these impact performance significantly. Try "make -n" to see what's being compiled into your programme (caution: long output).
- I cannot figure out how to compile Gnustep apps (e.g. mine or
ProjectCenter) so that they can be double-clicked in Windows explorer, or even run at a windows command prompt. It always complains that the
".dll" files are missing.  I've done a lot of Googling on this, and
come up empty. I've seen claims that this is possible, but never seen
any instructions as to how.  Any pointers would be appreciated.  I am
not very Windows savvy - I have managed to mostly avoid it...

GNUstep applications need to be started from the msys shell on Windows using "openapp" as you do on Linux/etc, after having sourced the GNUstep.sh file. We (unfortunately) do not have an environment yet that will let you simply compile stand-alone applications, although there are a few people on this list who have managed to get standalone apps built for Windows.

- I tried to get GDB working under Win32 to try to debug a small issue
I was having with my program.  I got it downloaded and installed, but
it wouldn't recognize objective-c sources... This is version 5.2.1. It
would just run my program, pop up a second window briefly, then come
back saying "program has exited with status 1". It would not let me do
a backtrace or etc.  Has anyone gotten gdb to work with objective-c
under Win32?

gdb is still difficult to use on Windows; I'm trying to find a version myself that works correctly so I can do some proper backend. You will need gdb >= 6.0 for proper Objective-C debugging support, but many of the binaries at www.mingw.org can be buggy. Is there anyone on the list who knows of a gdb version for Windows that works correctly when debugging GNUstep apps.

Regards
Christopher Armstrong
carmstrong at fastmail dot com dot au






reply via email to

[Prev in Thread] Current Thread [Next in Thread]