我的应用程序使用fopen打开很多文件.虽然在linux中打开和读取数千个文件甚至不需要一秒钟; 在cygwin,它需要超过5秒.
我认为这是因为cygwin dlls中的路径转换功能.'open'功能有点快.如果我使用-mno-cygwin它变得非常快但我不能使用它.
是否有一种简单的方法可以让cygwin dlls打开文件; 没有任何linux-windows转换?
这取决于系统在Cygwin环境中的安装方式.
$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type iso9660 (binary,posix=0,user,noumount,auto)
Run Code Online (Sandbox Code Playgroud)
在安装选项"二进制"使得它如此CRLF< - > LF转化不会从卷读取文件执行.这是默认值.
您可以采取以下措施来加速Cygwin提示:
1:将以下行添加到您的~/.bashrc:
# eliminate long Window$ pathnames from the PATH
export PATH='/bin:/usr/bin:/usr/local/bin'
# check the hash before searching the PATH directories
shopt -s checkhash
# do not search the path when .-sourcing a file
shopt -u sourcepath
Run Code Online (Sandbox Code Playgroud)
2:断开网络驱动器.
3:--cache-file="$HOME/.config.cache"运行autotools configure脚本时使用该选项.
这将创建一个包含预先录制的配置发现的文件,其中大部分可在软件版本之间使用.(使用Linux时这也是一个好主意).
由于shell似乎是Cygwin系统的瓶颈,因此依赖于启动大量进程的巨大脚本将永远占用,这将减少启动所需的进程数量.
4:设置Cygwin sshd并停止使用Windows命令提示符以支持PuTTY.
PuTTY可以更好地响应屏幕上的文本更改,因为它是为*NIX更成熟的CLI界面构建的.Windows命令提示符(™)简直太可怕了.