I just got a new laptop (Lenovo P51, four-cores, eight-threads, 32 GB RAM, multiple drive bays). My old machine was more than six years old so it was probably overdue. I wanted to record some of the reasons for the upgrade, and the process, if only for myself, so here we go.

One would think that the main reason to upgrade a six-year-old laptop would be the hardware. Bigger, faster, etc., but it turns out that software was as big a factor.

The DVD drive had failed (but I never used it) and the SD-Card reader had failed (so I bought an adapter), and the battery was getting feeble (but I’d replaced it once and could have replaced it again). Probably the biggest hardware problem was that it was maxed out at 8 GiB of RAM which feels a bit tight these days.

Meanwhile, on the software side… I’d upgraded from Windows 7 to Windows 10, ‘cause as a developer I needed to be on the latest OS. Unfortunately, my Intel Wi-Fi adapter was not officially compatible with Windows 10 so when I reported five-second hangs to Intel they said ‘tough’. And the hybrid-GPU setup was not compatible with Windows 10, leading to flickering and this occasional epilepsy inducing behavior. It’s still not clear to me why Microsoft’s upgrade advisor didn’t warn me about these problems. No wonder so many people had issues after upgrading.

My laptop also had a long-standing driver bug that meant that sometimes when I closed the lid it would fail to go into standby. If I noticed this and cracked the lid open again then that would tickle some internal state and then it would successfully sleep. If I didn’t notice then the driver would timeout and shutdown the machine. I never figured out which driver was the culprit – I lived with these occasional failures for six years.

The upgrade to Windows 10 on the old laptop also left me with various small defects. Ctrl+Backspace didn’t work in the command prompt, Windows Live Photo gallery would crash if I brought up a context menu with multiple pictures selected, the lock-screen timeout could not be configured separately from the screen-off timeout, etc. Again – the Windows 10 upgrade process was poorly done, especially for something that was forced upon so many of my family members.

Buying a new laptop resolved the hardware issues, and the software issues, and it also gave me six years of hardware progress – which was not as exciting as I had hoped.

Hardware – improvements?

The biggest gain was that I went from 8 GiB of RAM to 32 GiB of RAM, and I could have gone to 64 GiB if I’d felt the need. Yay!

But I thought Moore’s law would do more for me. My new CPU is faster (higher clock rate and better micro-architecture so probably twice as fast?) but nothing dramatic. And while I’d hoped that core counts might have improved in that period of time it was actually a struggle not to regress! I bought a quad-core hyper-threaded laptop in 2011 and it felt more difficult to do that now. Dual-core laptops are insufficient (you need one core for anti-virus, one for your GPU driver to compile shaders, and then at least one for your games) so it frustrates me that they are still the most common configuration. So, faster cores, but the same number of cores as six years ago.

As part of the upgrade I got a shiny new 2 TB SATA SSD – double the size of my previous one. I’m a pack rat and I like having all my media accessible. The SSD upgrade was actually one of the larger obstacles because many laptops now only support M.2 drives. Getting 1 TB M.2 drives is challenging, and forget about 2 TB. I know that the M.2 drives have more than enough capacity for most people, and they’re smaller, and supposedly faster, so I get it, but it was still frustrating. But I ended up with a laptop that can handle two SATA drives plus an M.2 drive, so I could get up to 9 TB of solid-state storage if I wanted to spend $3,400 for it.

My screen resolution stayed the same (my eyes aren’t good enough to justify more than 1080p on a laptop screen), my screen got slightly smaller (17” laptops are rare and 15.6” actually seems nice), and I no longer have a back-lit keyboard.

Finding a new machine that had a SATA slot, could support lots of memory, had a decent screen size, and a quad-core CPU was actually really hard. I have a long list of laptops that had all but one of these qualities (or all of these but an incredibly bad keyboard or screen), but very few matched my needs. I guess my needs are weird, but I swear my laptop search six years ago was easier.

More driver bugs

It’s not entirely accurate to say that buying a new laptop resolved my software issues. What actually happened was that I noticed that Chrome would sometimes hang when I resumed from standby. Windows Update didn’t find any new drivers so I grabbed an ETW trace and determined that the Intel Wi-Fi driver was the culprit (I know, I was shocked also). The WPA screenshot below (using ETW wait analysis) shows that chrome.dll called closesocket and this caused that thread to hang for 27.852 seconds. When it resumed running it was because the Wi-Fi stack finally responded (“readied it”, in Windows talk).

I already knew I had an Intel Wireless adapter, but the driver signing also showed this:

I used Device Manager to upgrade the Intel drivers which brings up several questions:

Why didn’t Windows Update find the new driver?

Why did Lenovo ship the laptop without the latest driver (released three months earlier)?

What the hell do normal people do? I thought this sort of experience was supposed to be reserved for Linux users.

Setup

A new machine is exciting, but also a huge hassle. I couldn’t buy the laptop with the SSD that I wanted so I couldn’t even use it until I transferred the OS to the new disk (probably should have done a clean OS install, but that can be touch or expensive). Then I started reinstalling software. It is only at this moment that one realizes how much software ones uses on a regular basis. Some of the installers no longer exist (luckily I found an archived copy of the Windows Live installer, and Garmin Training Center can be xcopy installed). Many were on these strange “optical disks” so I used our last remaining DVD drive to copy them (and archive them for posterity). Here’s a list of all the software that I apparently can’t live without, roughly in the order that I installed it:

Tracking down all of the installers was a bit of a pain but now I’ve got a lot more of them archived for next time.

Favorite features

I haven’t bothered configuring the fingerprint reader yet – I’m not sure I trust Windows Hello and its insistence on a PIN. I wish the home/end/left-ctrl keys were positioned differently, but the keyboard is good enough.

Seeing Task Manager reporting lots of GB available and used for cache always makes me happy.

The best feature is the battery life. My new toy may not be as excitingly faster as I had dreamed of, but going from ~1.5 hours of battery life up to a refreshing 8-10 hours is pretty wonderful.

The laptop has four USB type A sockets and one USB type C socket and they are all powered even when the laptop is sleeping. This means I can charge five devices off of my laptop, including high-speed charging one USB-C device.

Least favorite features

Lenovo is abusing the UserHardErrorEx function to bring up always-on-top dialogs offering upgrades. It’s not confidence inspiring and had my worried but there may be nothing actively dangerous there.

For mysterious reasons that are still being investigated the new laptop has WiFi download performance that typically ranges from mediocre to terrible. Lenovo (and, to a lesser extent, Intel) are trying to help, but so far this has been variations on “tweak this setting or upgrade the driver.” I really want a tool that will tell me what is wrong so that we can be more scientific about finding a solution. I hate it when ETW is not obviously helpful. For some reason the upload speeds are consistently good, and are usually faster than downloads!

Advertisements

Share this:

Like this:

LikeLoading...

Related

About brucedawson

I'm a programmer, working for Google, focusing on optimization and reliability. Nothing's more fun than making code run 10x faster. Unless it's eliminating large numbers of bugs.
I also unicycle. And play (ice) hockey. And sled hockey. And juggle. And worry about whether this blog should have been called randomutf-8.

Interesting post – always nice to have some new hardware. I’ve read this a few times and tried searching for it – but I can’t see the actual Lenovo model number / name in the blog entry. Are you able to share the model that you purchased? I’m looking for a laptop at the moment too as my old clunker macbook pro has a faulty screen now and is relegated to clamshell mode – and I’m interested in trying a windows 10 machine (my other laptop next to my work desktop is so old that it can’t be upgraded beyond Windows 7). I always find it an agonising process trying to choose a new laptop so I’m interested in other peoples choices so I have even more configs to ponder. I’m currently considering a Dell Inspirion 2 in 1 with 16GB/512GB and i7. One of the challenges I faced (which I hit when I went to buy a HP Spectre x360) is that some ultrabooks (I’m looking at you HP) don’t have cable lock sockets – which is a corporate requirement.

Yeah the model number detail would’ve been nice to include within the body of the post itself. By the time I was done reading I was no wiser about exactly which model you’d gotten than I was when I started.

I have seen signs of that, although the results are not quite consistent enough for me to be sure. So far I’ve just experimented with rotating the laptop while keeping it level – tilting it 45 degrees from level seems… tricky?

Oooh! Thank you! I will definitely do that. I can get used to the Ctrl key not being in the corner, but it confuses my muscle memory whenever I switch computers. It’s just too bad that the key caps are different sizes so I can’t swap them.

I would buy a beefy 17″ P71 Lenovo if they were created with a centered keyboard WITHOUT the number pad. Alas, those types of keyboards have disappeared for larger laptops. My W520 has speakers on either side of the keyboard, which seems rather intuitive for a centered keyboard.

We’ve had an issue at work with Win 10 (on Surface) and wifi and specifically download speed, and it was resolved by tweaking the MTU value on the access point (I guess it would work on the adapter too?) And I also think that Wireshark could show packet loss that would result from incorrect MTU. Maybe this helps.

Thanks. Although, without a link from a Microsoft owned site to that onedrive folder there is no way I can see to validate the authenticity of the files, which would leave me running binaries from a random web site. So, an arguably better link is this one (which links to the onedrive folder):

I must have decided that the extra cost for the 7820 was not justified (I don’t remember how much extra they wanted, but I guess I felt that a .1 GHz bump plus 2 MB extra cache didn’t justify it). The Xeon was definitely too much extra, for unclear gain. In fact, the Xeon appears to be a Skylake based product instead of Kabylake, so extra money for arguably a step backwards.

I also had concerns that getting a Xeon processor might have hurt battery life – I don’t know if that is justified.

The Lenovo purchasing site (all laptop purchasing sites) do a terrible job of selling you on why you should spend more money for various upgrades, so I bought the upgrades that I knew were valuable.

When I set up a new machine a few weeks ago I hated the prospect of reinstalling everything, but by using Chocolatey I did the install in half the time. All those command line utils, language interpreters, 7zip explorer addins, sysinternals suites, git,… Also it sets up the path so you don’t have to spend ages faffing around with the path variable.

Both. First time savings because ‘choco install -y python3’ is much easier than hunting around for the latest version of an app, downloading and clicking through the installer. Subsequent reinstalls are easy because you have the list of packages to hand. Also easier to keep up to date with latest versions and security updates.

Agree with @Евгений Сыромятников, you should have kept your gun powder dry for just a little while longer. At Computex a little while ago, AMD had already demo-ed a working laptop with the AMD Mobile Ryzen – 4 x Ryzen cores + 11 Vega CUs.

Quad cores will be standard fare in a few months, with PS4 quality graphics! You’d be paying only half what Intel gouged you for!

It is very rare that I find someone who also understands that it is senseless to have more than 1920×1080 on a 15.6″ screen. Apparently most people think a car with a top speed of 500mph can get you to your office faster than a Camry.

Does 32GB RAM require a souped up model or is it just a matter of swapping the chips on a mainstream model?

My wife’s old desktop computer is limited to 4 GB of RAM and my previous laptop was limited to 8 GB of RAM. Ah, those primitive days. It’s nice to finally be able to configure a machine with enough memory.

I’ll bet some memory limitations are a matter of marketing/price-discrimination. If a company wants to differentiate its high and low-end laptops then it can artificially restrict the amount of RAM supported on the low-end machine in order to prevent it from being used for serious work.

I found a similar problem as you a few years ago when I bought my new laptop for school. It seems that the mainstream market’s focus is on light, cheap and mobile (laptops are way cheaper than I remember them being). Next time you’re looking I would recommend getting something outside of the main laptop brands. I can personally recommend Sager/Clevo. They’re more expensive than a lenovo or dell but can come with full sized (non M version) GPUs, desktop CPUs and are designed to be further customizable/worked on at home.