From: ko1@... Date: 2020-04-09T00:43:10+00:00 Subject: [ruby-core:97757] [Ruby master Bug#16772] Build becomes slow with CIFS mounted srcdir Issue #16772 has been reported by ko1 (Koichi Sasada). ---------------------------------------- Bug #16772: Build becomes slow with CIFS mounted srcdir https://bugs.ruby-lang.org/issues/16772 * Author: ko1 (Koichi Sasada) * Status: Open * Priority: Normal * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- Recent 9e6e39c3512f7a962c44dc3729c98a0f8be90341 increases many include files and it makes slow build on my machine. My build environment is not normal: * srcdir is managed on Windows 10 host file system and edit it on windows native editors (xyzzy) * Build on Linux (Ubuntu 18.04) by mounting srcdir with CIFS (samba) ``` # on e7128aa772787a9c9e95708e2d2534484861a765 # gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) # on Ubuntu 18.04 # on Hyper-V # on Windows 10 # srcdir is mounted by CIFS (Samba) on Windows host file system # without ccache $ time make range.o compiling /home/ko1/src/ruby/clean/range.c real 0m17.662s user 0m2.572s sys 0m2.599s # with ccache $ time make range.o compiling /home/ko1/src/ruby/clean/range.c real 0m35.361s user 0m4.628s sys 0m5.283s ``` on 9e6e39c3512f7a962c44dc3729c98a0f8be90341~ ``` # without ccache $ rm range.o; time -p make range.o compiling /home/ko1/src/ruby/clean/range.c real 1.16 user 0.85 sys 0.06 ``` Same machine, but srcdir on guest Linux (/dev/sda2 on / type ext4 (rw,relatime,data=ordered)) ``` # on e7128aa772787a9c9e95708e2d2534484861a765 $ time make range.o compiling /home/ko1/ruby/v2/src/trunk/range.c real 0m1.207s user 0m1.065s sys 0m0.140s ``` Same machine, but compile on host Windows (mswin64). ``` $ time nmake range.obj Microsoft(R) Program Maintenance Utility Version 14.14.26428.1 Copyright (C) Microsoft Corporation. All rights reserved. generating id.h id.h updated compiling C:/ko1/src/ruby/clean/range.c range.c real 0m3.779s user 0m0.000s sys 0m0.046s ``` Another Linux box works fine. ``` # Linux box on another machine without ccache $ time make range.o compiling /home/ko1/ruby/v2/src/trunk/range.c real 0m1.992s user 0m1.858s sys 0m0.123s ``` I recognize that using CIFS for build environment is not normal environment, so it is not a big issue. But I filed it if there is a chance to solve it. BTW, I tried to make simple .c files which includes 1000 simple files, but only a few seconds to build. So the file number is not a big issue. -- https://bugs.ruby-lang.org/ Unsubscribe: