Manjusaka

Manjusaka

Young people's first Mac, a brief review of the Macbook Pro 2019 16-inch from a developer

Since I started working, I have always wanted to buy a Mac, but I never managed to. Although I have been using company-issued Macs (from Macbook Pro 2015 13-inch to Macbook Pro 2017 15-inch, to Macbook Pro 2017 15-inch, to Macbook Pro 2018 13-inch, to Macbook Pro 2018 15-inch, I've used them all, 23333), I have never had my own Mac. It has always been a regret, so when the new Mac came out this time, I instantly took advantage of the employee discount (official website 5% off) and the 12-month interest-free installment plan to get one. Now, from a developer's perspective, I will provide a simple review.

Main Content#

Why Consider a Mac#

Before writing this article, I need to introduce the background of why I bought a Mac. Currently, my main machine is a quasi-system from Clevo, the P775TM, with the following configuration: i7 8700 + 32GB RAM + 512GB SSD + 1070. My work system is Manjaro (a Linux distribution). I find it very comfortable to use for development at the moment, but I have encountered a few problems:

  1. It is too heavy, and it is not convenient to carry it around when I have something urgent to do.

  2. The lack of daily software on Linux still causes some inconvenience for development.

Therefore, after November, I started to carefully consider the need to buy a new computer. As a backend developer focused on infrastructure, good support for Unix/Unix-like systems is necessary. At the same time, because I sometimes participate in large open-source projects, I also need a computer with sufficient performance to support multiple virtual machines for multi-platform debugging. So, at that time, I had two options:

  1. Buy a hardware-friendly machine and install Hackintosh and Linux dual systems.

  2. Buy a Macbook Pro.

Since I am a bit of a copyright purist, strictly speaking, Hackintosh is against the rules. Therefore, the Macbook Pro is my best choice. Coincidentally, the new 16-inch Macbook Pro was released, so I decided to get one.

The configuration I finally chose is i9 2.3 GHz + 64GB RAM + 1TB SSD + 5500M 4GB. The logic behind choosing this configuration is that, according to current reviews, this Mac has good heat dissipation performance. Since I compile and debug things locally on a daily basis, I decisively chose the i9. The 1TB SSD is the default configuration. I am not a video worker, and I don't play games on Mac either, so the 4GB VRAM version of the graphics card is completely sufficient for me. The only dilemma was the RAM. 16GB is definitely not enough, so the question was whether to choose 32GB or 64GB. After considering it, I bit the bullet and went for 64GB (later on, I will also explain why this was the right decision).

After making the decision, I immediately placed an order in installments. I placed the order on the 18th and received the machine on the 23rd (I want to thank my girlfriend for her strong support. If it weren't for her, I probably wouldn't have bought it in the end).

Alright, let's start with the unboxing and review.

Unboxing#

On the morning of the 23rd, I went to the company to pick up the package and then went home to unbox it.

After sacrificing a cat, I opened the package.

It is said that sacrificing a cat can make the computer last longer

Apple's packaging is as simple as ever.

Packaging box

The following pictures show the actual machine.

IMG_20191123_122230

IMG_20191123_122251

IMG_20191123_122411

IMG_20191123_123116

The machine comes with MacOS 10.15.1, also known as MacOS Catalina. I have to say that this generation of MacOS and iOS are both full of bugs, making people wonder if Apple's project management has completely failed.

As for the appearance of the machine, I chose the silver version. I have to say that it looks really good, but it is also prone to getting dirty, and maybe some friends are curious about how big the Macbook Pro 16-inch is. I have made a comparison in the picture below for everyone to get a sense of it.

IMG_20191123_195649

From top to bottom:

  1. My girlfriend's Macbook Air.

  2. The company-issued Macbook Pro 2018 15-inch (there will be a detailed comparison later).

  3. Macbook Pro 16-inch.

  4. Clevo P775TM.

From this perspective, you can see that the new Macbook Pro 16-inch is only slightly larger than the Macbook Pro 15-inch. After the new model was released, the official website also removed the Macbook Pro 15-inch, so it seems that the Macbook Pro 16-inch will be the replacement for the 15-inch in the future.

User Experience#

Actually, I have only had the machine for a relatively short period of time, so I don't have a deep experience yet, so this part may be relatively short.

  1. The screen maintains Apple's usual high standard and is very comfortable. However, the default display resolution of this generation is 1792x1120, which is larger than the 1680x1050 of the 15-inch model. Some people may find the font size relatively small and need to adjust it separately (I recommend using RDM here).

  2. The keyboard is finally comfortable. The butterfly keyboard feels like typing on a steel plate to me (but everyone has their own preferences).

  3. The return of the ESC key is a major benefit for VIM users (although I am not one of them, 2333333).

Performance Testing#

First, let's take a look at the CPU test scores of the new Mac.

image

However, to be honest, I think it may be more valuable to use some daily scenarios for testing. So, I selected two projects for compilation testing. One is Dubbo (compiled based on Dubbo 2.7.4.1, Maven 3.6.2, JDK 8), and the other is compiled based on the latest code of CPython Master. Here are the compilation commands:

  1. Dubbo: mvn clean package -U -Dmaven.test.skip=true (both machines already have the dependencies set up).

  2. CPython: ./configure --with-pydebug --with-openssl=/usr/local/opt/openssl && make -j

The two machines are as follows:

image

image

The final test results are shown in the following graph (all units are in seconds).

image

It seems that there is a significant improvement in performance, but because compilation involves frequent small file read and write operations, the difference is not as large as theoretically expected. However, as the codebase grows, the advantage of the i9 will become more apparent. If I have time later, I will find a few scientific computing examples for additional testing.

Speaking of compilation, some of you may be concerned about the heat dissipation of the new Mac. I tested it briefly.

image

The conclusion is that throttling is unavoidable, but when under full load, the temperature can be maintained at around 81 degrees, and the CPU frequency can be kept stable at 3.5 GHz. Although this result is not as eye-catching as other high-performance laptops, I think it is still good for a thin and light high-performance laptop. After all, in everything, there is always a trade-off.

Finally, let's test the hard drive speed.

image

Well, it's still as fast as ever...

Oh, by the way, some of you may be curious if 64GB of RAM is a waste. Well, I checked, and for me, it is not a waste.

image

This is the memory usage when I was writing this article. I had three IDEA projects, two Goland projects, one PyCharm project, several browser windows, several VSCode windows, three ElasticSearch nodes running in Docker for HA testing, and one Kibana node. If I later run a few more virtual machines, 64GB will be very suitable for me. However, everyone's situation is different, so I won't make any recommendations for your choice of machine (otherwise, if you choose the wrong one, you might get beaten, QAQ).

Conclusion#

Actually, the Macbook Pro is a versatile machine with a relatively balanced overall configuration, suitable for most scenarios (except for those that require Office). This year, the official website also provides more flexible configuration options for everyone to combine. So, I suggest that if you have a need for a large-sized Mac, you should really consider getting one.

Thousands of words summed up in one sentence:

74cea299b2f87d690d12a6ff38c2441e

Finally, I would like to thank my girlfriend again for her support! Mua!

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.