Hello there! Today I was working on two bigger, plain text, csv-like database files (file1: ~175k lines and 15MB, file2: ~ 168k lines and 14MB). I just searched for lines, using grep -f $file2 $file1. I was so surprised when I realized the search was running for minutes already without a single line at the standard output. I decided to have a try with custom compiled binaries, because in my mind the size optimized binaries are the fastest. In the end grep (3.1) was running for: - 4m50s if I used the one was coming from Ubuntu, - 4m29s in case of custom recompiled with GCC7.4 and CFLAGS="O2" and - 3m17s in case of custom recompiled with GCC7.4 and CFLAGS="Os". I repeated the runs multiple times, I would say it's accurate. The files were located on tmpfs. Binary sizes are: 215K for Ubuntu, 184K for O2 and 150K for Os. CPU: Intel I5-8350U OS: Ubuntu 18.04.3 LTS Would you mind change the default optimize level on the make configuration? Did somebody ever measured the benefits using different GCC optimalization levels? I know that this is a special use case, but the improvement is huge. I'm looking forward for your feedback.
Best regards