cygwin慢文件打开

Erd*_*dem 7 cygwin

我的应用程序使用fopen打开很多文件.虽然在linux中打开和读取数千个文件甚至不需要一秒钟; 在cygwin,它需要超过5秒.

我认为这是因为cygwin dlls中的路径转换功能.'open'功能有点快.如果我使用-mno-cygwin它变得非常快但我不能使用它.

是否有一种简单的方法可以让cygwin dlls打开文件; 没有任何linux-windows转换?

amp*_*ine 6

这取决于系统在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命令提示符(™)简直太可怕了.