[Bug 1988240] Re: Performance regression with memcpy on Intel CPU
Shantanu Jain
1988240 at bugs.launchpad.net
Wed Aug 31 22:08:30 UTC 2022
> different tunable values
With the good libc (libc6-dev==2.31-0ubuntu9.7):
I can trigger a performance regression by explicitly setting the tunable threshold to `1024*1024*3/4`. If I explicitly set to `1024*1024*16*3/4` I once again have good perf.
> or other distros
With Ubuntu 22.04.1 LTS and libc6 2.35-0ubuntu3.1 I see the performance regression. It seems marginally better than 2.31-0ubuntu9.9, e.g. 2.9x worse perf instead of 3.2x.
With 22.10 devel and libc6 2.35-0ubuntu3, I see performance regression
equal to that with 22.04.1.
With Debian bullseye and libc6 2.31-13+deb11u3, I see the performance
regression.
> double-check whether that patch is responsible
Unfortunately, I wasn't able to get glibc to make install :-( Ran into some scary looking "_dl_call_libc_early_init: Assertion `sym != NULL' failed!" errors. Let me know if you have advice on how to build glibc.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/1988240
Title:
Performance regression with memcpy on Intel CPU
Status in glibc package in Ubuntu:
Incomplete
Bug description:
# lsb_release -rd
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Reporting a performance regression in libc6-dev==2.31-0ubuntu9.9 when
upgrading from 9.7.
Regression was observed on Intel Xeon(R) Gold 6248 CPU @ 2.50GHz
(Cascade Lake)
We're seeing a 3x slowdown on e.g. the following tiny program and similar slowdowns on important workloads:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main(void) {
size_t SIZE = (1 << 20);
char *src = malloc(SIZE);
char *dst = malloc(SIZE);
for(int i = 0; i < (SIZE); ++i) {
src[i] = rand() % 256;
dst[i] = rand() % 256;
}
clock_t start = clock();
for(int i = 0; i < 10000; ++i) {
memcpy(dst, src, SIZE);
}
clock_t end = clock();
printf("%f\n", (double) (end - start)/CLOCKS_PER_SEC);
}
```
Probably due to changes resulting from
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1928508
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1988240/+subscriptions
More information about the foundations-bugs
mailing list