I am testing website performance using chrome's audit extension on different devices.
The performance results are different for different devices for the same website. I ran tests on my machine, macbook and dell laptop.
Why the results are different every time? And does these tests run on local device or is it cloud based?
As you are running test using chrome extension which runs in local machine, so it will be slightly different for different platforms and it will also depends on the internet connectivity.
For better and more reliable testing of website, it is better to use simulator or on server based service because all the users might not be privileged of having better device or internet connection.
There are many server/cloud based services. Below are two of them which I use.
1) You can use web.dev using Google's Lighthouse
All tests are run using a simulated mobile device, throttled to a fast 3G network & 4x CPU slowdown.
2) You can use webpagetest. On this platform you can create your own simulation here.
This because the hardware and the CPU load can affect your results, even some chrome extensions can affect the performance.
I ran some tests over cerebry.co and I couldn't notice any significant difference between tests,I performed my tests on power save mode and in high performance mode, switching between WiFi 5GHz and 2.4GHz bands, with cache disabled.
-- Macbook 12 PRO MID 2012 i7 3rd gen 16GB ram SSD (3.4s - 5.7s)
-- HP Chromebook i7 8th gen 16GB ram SSD (3.2s - 4s)
-- ASUS ROG i5 7th gen 12GB ram NVME (3s- 3.4s)
-- HP ENVY i5 4th gen 12GB ram HDD 5.4K RPM (3.2s- 3.7s)
Maybe with older or slower HW I can experience a performance degradation.
Related
Apparently, QEMU is the only piece of open source code that can emulate an x86 operating system on the new Apple silicon (M1, M2, etc.).
Apple built Rosetta 2, which, in theory, does the exact same thing that QEMU would be doing in these scenarios. It translates x86 (Intel) instructions into the instruction set supported by the new Apple silicon processors.
Rosetta 2 does it with remarkable performance, and some x86 applications even run with better performance than on native x86 hardware. QEMU, on the other hand, doesn't get even close when running x86 Linux on Apple silicon.
How can Rosetta have such superior performance? Are there any "secrets" that only Apple knows about their architecture that were never shared with the QEMU project? Any forbidden APIs that QEMU is not allowed to access?
Rosetta and QEMU are both emulators. However, they tackle the problem in vastly different ways.
QEMU
In order to emulate a a Linux system, QEMU must also emulate storage devices, console output devices, ethernet devices, keyboards, and the entire CPU. With this framework, it emulates every instruction doing everything with Just in Time translation. From the Linux kernel down to your /bin/ls command.
There are generally few limitations to QEMU's Intel emulate. You can run most any Intel Operating System and associated applications.
Rosetta 2
Apple's emulate, on the other hand, happens before the application launches. The entire binary is translated from x86 to Apple Silicon and launched. Once translated, the application is in effect a native arm64 binary making native macOS system calls.
Apple's documentation explains it thus:
If an executable contains only Intel instructions, macOS automatically
launches Rosetta and begins the translation process. When translation
finishes, the system launches the translated executable in place of
the original. However, the translation process takes time, so users
might perceive that translated apps launch or run more slowly at times
Rosetta 2 has a number of significant limitations. For example you can't use Intel Kernel extensions, Virtual Machine apps that virtualize x86_64 computer platforms (Parallels for example), or AVX/AVX2/AVX512 vector instructions.
My laptop (running Xubuntu 16.04) is a few years old, on an i7-3635QM processor. 3-4 yr ago, it had only 4GB ram, and the chrome browser often completely used up the physical memory and started using swap space (4GB) - when this happens, the entire computer is extremely slow and almost hangs. I had to kill chrome to release all the memory, but the computer is barely responding when it is on swap space.
So, I upgraded it to 16GB memory many years ago, this happened less frequently, but still, for a couple of times in a month, I still occasionally ran into this situation.
At work, I have a Xubuntu desktop running on 32 GB ram, I open as many, if not more, tabs on that desktop, but I rarely see total memory consumption from chrome to exceed 50% of the total memory, and almost never forced the system to use swap.
It feels quite strange that there is such a different behavior for a 16GB vs 32GB. The only thing I can think of is the laptop has an earlier CPU (i7-3635QM) vs the desktop (i7-7700k), but the OS versions and kernel versions are the same.
Does anyone know how to prevent chrome from throwing my system from using swap? I tried to tune the swappiness of the kernel but there was no noticeable change.
thanks
On Linux you can use Control Groups to limit either CPU or Memory. In your case you can do (adjust the size accordingly):
cgcreate -g memory:chrome
echo 500M > /sys/fs/cgroup/memory/chrome/memory.limit_in_bytes
And then run chrome like this:
cgexec -g memory:chrome /usr/bin/google-chrome-stable %U
So I recently have a project using MySQL 8.0.12, configured for Development Computer upon installation.
I developed the system on my PC, which has an i5 CPU with 8 GB RAM.
On my PC, the mysqld.exe process consumes around 10% of CPU usage and 20 MB of Memory when a continuous query is run
I then deployed this system to the client PC, which has an Atom CPU with 8 GB RAM. Also using a fresh install of MySQL 8.0.12.
For some reason, even on idle condition, the mysqld.exe process consumes 300 MB of Memory. Also the CPU usage goes up to 60% during continuous query.
Both system runs on Windows 10 x64-bit
Obviously the speed of these two computers are different, but I kind of doubt that the CPU core is the issue, since the idle state already consume different memory.
What may went wrong with this MySQL inside the Atom based PC? Why does it behave very differently? CPU Usage aside, it is very weird to me that the idle state memory consumption is so different.
Is there any possible workaround to these issues?
i have search on Google that to run windows 8 emulator,CPU must be supporting SLAT. and my PC does not support it. so i am not able to run emulator. now in this case is there any other way to run emulator because purchasing windows mobile or new processor is not good idea. i dont have money for this.
processor core 2 duo
RAM 4 GB DDR2
While SLAT isn't required on Windows Server 2012 to enable HyperV, it is required for Windows 8+ to enable a rich graphical experience.
There are some details here.
If you're developing a WP8 application, I'd highly recommend you acquire a physical device anyway for the best overall development and testing experience. Depending on your location, there are some very inexpensive devices.
There are no work arounds.
Does it make a difference? All I'll be doing (for the most part) is running different browsers. I would think the most stripped down one possible would be best.
Update: My dev box is a MacBook Pro (2010) with 8G ram, 2.4 GHz processor running Lion.
Ordinary Windows 7 installations are shipped with a full load of crap. Even the cleanest installs have a size of at least 10 GB. For that reason, I recommend to only use Windows 7 if you want to test IE9+ (which requires Vista+).
The following steps will take a maximum of ten minutes. Afterwards, you have a fully functioning Windows 7 + IE9 system, which takes only 2GB of physical space:
Getting Windows 7 Lite
I use this set-up in VirtualBox. I have not tested it in VMWare, but there should be no differences.
Get a Windows 7 Lite VM image.
I myself use an image, created by ivankehayov:
Download name: Win7.SP1.IE9.lite.v2-IK
ISO size: 700 MB (after installing: less 2GB)
MD5: 094BE542B3F292726EF7F16619CACA9A
For more information, and the tools used to create this image, see this forum. More details (about the old image) can be found here.
Creating/Installing the Virtual Machine
Create an new VM, and put the ISO image in the virtual CD slot.
2 GB RAM (Minimum of 1 GB, to ensure that your system doesn't crash).
Boot the Virtual Machine.
Install from the iso image
Decrease resource usage (4 steps)
Install CCleaner, to wipe (temporary) (log) files.
Disable System Protection:
Control Panel > System Protection > Configure... > Turn off system protection
Disable the page file (especially recommended when you've got a SSD).
Control Panel > Advanced system settings > Performance [Settings..] > Advanced > Virtual memory [Change..] > No paging file - Set. Confirm and reboot.
Disable all unnecessary services, to increase the booting speed.
Set your preferences (homepage? IE settings?), and save a snapshot of your VM. When you're done with using the VM, restore the snapshot. This will prevent Windows from hogging disk space over time, and keeps your VM image compact.
My virtual Windows 7 boots within 45 seconds.
Relevant details about my own environment:
- Virtualization software: Oracle VirtualBox
- Operating system: Linux-based
- RAM: 8 GB
- Disk: 60 GB SSD