Cygwin's pdflatex: i5-3340M runs 2-3x faster than i5-8250U

I used to run Cygwin 64-bit on a Toshiba laptop, Portege R930. In particular, I ran pdflatex on a report being composed. It took about a handful of seconds. That machine ran Windows 7. According to the vendor page, the processor is Intel's i5-3340M vPro, and it had 8GB RAM. Dual core, four hyperthreads.

I recently bought a Windows 10 laptop, TravelMate P2410-G2-M. The system information says that it has i5-8250U, 8GB RAM, 4 Cores, 8 Logical Processors. The same Cygwin packages and versions (identical) were installed, and the same LaTeX document takes 2-3 times longer to compile. This, despite the ostensibly much more capable hardware.

Is there anything in particular about Windows 10 that I need to set in order to "unleash" the full potential of that processor?

Power settings

Thanks to "kicken" for pointing out a possible cause as battery-saving power settings. Yes, plugging the laptop in lets it Turbo Boost up to 3.4 GHz, and the execution is way faster. However, I only have one power plan, and that is the Balanced plan.

Unfortunately, within that plan, I haven't found the setting to allow for Turbo Boost when operating off the battery. In Power Options -> Advanced settings, the only applicable setting seems to be Processor power management. It has 3 parameters, each one allowing a value for On battery and a value for Plugged in. The names of the first and last parameters sound like they relate to processor speed, but the values are the same for On battery and Plugged in:

  • Minimum processor state

    • On battery: 0%
    • Plugged in: 0%
  • System cooling

    • On battery: Passive
    • Plugged in: Active
  • Maximum processor state

    • On battery: 100%
    • Plugged in: 100%

Power mode on battery

Double-clicking the battery icon on the lower right corner of the screen pops up a Power mode (on battery) panel, wherein the performance slider is already set to high performance. It isn't clear what the slider position corresponds to what behaviour:

enter image description here

The Battery settings link opens up a Battery panel, but none of the controls look relevant except for those that activate battery saver when the charge falls below 20%. My charge is well above that, so it doesn't explain the curtailed speed when running off batteries.


Solution 1:

To maximize your performance you will want to check the windows power settings. Many laptops come by default with a balance or power-saver plan enabled which will maximize the battery life of the device by limiting the overall performance.

In recent versions of windows, you can click the battery icon in the system tray to access a slider. Move the slider to the Best Performance slot.

Power slider

If that does not help, or the slider is not present then go to the power options in control panel via Win+X -> Power Options (O) -> Related Settings -> Additional power settings. Look for a plan labeled High Performance and select that plan. If the plan does not exist, you can create it using the Create a power plan link on the left side menu.

You may want to change the power plan back to what it was previously when you're done with your task to preserve battery life. If you need to change plans often, it is possible to create desktop and/or keyboard shortcuts for power plans to allow for fast switching.

Solution 2:

The results you are seeing are absolutely correct.

Yes, your newer processor is faster... However, only in multi-threaded applications. In single threaded applications running on a single core, your newer CPU is actually slower. It runs at 1.6 GHz, which is 60% slower than the older CPU's 2.7 GHz.

You could run 4 instances of the application and force them onto 4 different cores then you would come out ahead. However, in a one to one comparison, the older CPU is faster.

I havent looked at Cygwin in ages, but when I last did, the applications were single threaded. I assume they still are. Someone can correct me if this has changed.