[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] C-compilere til NT...



On Wed, May 08, 2002 at 12:34:13PM +0200, Mads Bondo Dydensborg wrote:
> Jeg mener ikke at der er noget performance tab, med mindre at du bruger 
> meget Unix specifikke ting. Den binære kode er skam en Windows executable. 
> Der hvor du måske kan se noget, er hvis du f.eks. har kodet noget asyncron 
> IO til et Unix/Posix interface, hvor cygwin vil kalde Windows kode for at 
> gøre det. Men, det er ikke emulering, det svarer til at lægge en lille 
> wrapper ind.
> 
> Der er naturligvis også noget performance ting i at du kan skrive 
> fopen("/usr/local/ged"); under cygwin og den vil omforme det til 
> WOpenFile("C:\cygwin\usr\local\ged") (eller hvad ved jeg).
> 
> Men, det er vitterligt småting! Test det, det er nemt og hurtigt og 
> downloade.
Det tror jeg (desværre) ikke er rigtigt.

Jeg arbejder med cygwin dagligt, da vi udvilker vores program til både
Windows og Linux, og det er klart at cygwin er langsomt ud over hvad der
kan forklares med at det er en Windows maskine... Specielt gcc er
frygtelig. Vi bruger cygwin gcc med -M til at generere dependencies, så
vi kan bruge dem i vores makefiler, og det tager _lang_ tid (ca. 10
gange hvad det tager på Linux, hvis det kan gøre det).

Der er også det problem at hvergang du laver en read eller en write
(std. c funktioner), skal cygwin checke om det er text-filsystem eller
om det er et binært filsystem, og derefter omforme hele
outputtet/inputtet.

Nu hvor jeg tænker over det, så kan det godt være at det der får det til
at tage lang tid bare er det at pipe outputtet fra gcc over i sed... Det
kunne man sikker få meget sjov ud af at teste en dag...

Under alle omstændigheder skal man være varsom med at bruge linux/posix
funktionerne hvis man koder til cygwin's gcc, for de er med garanti
langsomme (fork er f.eks. ret langsom på Windows, fordi det at oprette
en ny process er en meget langsommelig process på Windows)... 

Derudover er man så også nødt til at distribuere cygwin1.dll med sit
program...

-- 
/-----------------------------------------------------\
| Klaus S. Madsen      | "Failure is not an option... |
| ICQ: 45400164        |  It comes bundled with your  |
| www.hjernemadsen.org |  Microsoft products!"        |
\-----------------------------------------------------/


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:09 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *