Skip to content

Slower on later GCC #4

@aaronovz1

Description

@aaronovz1

This actually appears to be slower on GCC 5.4

benchmark(size=32 bytes, times=16777216):
result(dst aligned, src aligned): memcpy_fast=42ms memcpy=48 ms
result(dst aligned, src unalign): memcpy_fast=46ms memcpy=54 ms
result(dst unalign, src aligned): memcpy_fast=43ms memcpy=53 ms
result(dst unalign, src unalign): memcpy_fast=44ms memcpy=55 ms

benchmark(size=64 bytes, times=16777216):
result(dst aligned, src aligned): memcpy_fast=44ms memcpy=57 ms
result(dst aligned, src unalign): memcpy_fast=44ms memcpy=60 ms
result(dst unalign, src aligned): memcpy_fast=43ms memcpy=65 ms
result(dst unalign, src unalign): memcpy_fast=43ms memcpy=62 ms

benchmark(size=512 bytes, times=8388608):
result(dst aligned, src aligned): memcpy_fast=77ms memcpy=56 ms
result(dst aligned, src unalign): memcpy_fast=82ms memcpy=61 ms
result(dst unalign, src aligned): memcpy_fast=81ms memcpy=61 ms
result(dst unalign, src unalign): memcpy_fast=79ms memcpy=61 ms

benchmark(size=1024 bytes, times=4194304):
result(dst aligned, src aligned): memcpy_fast=79ms memcpy=45 ms
result(dst aligned, src unalign): memcpy_fast=77ms memcpy=47 ms
result(dst unalign, src aligned): memcpy_fast=77ms memcpy=50 ms
result(dst unalign, src unalign): memcpy_fast=76ms memcpy=55 ms

benchmark(size=4096 bytes, times=524288):
result(dst aligned, src aligned): memcpy_fast=39ms memcpy=33 ms
result(dst aligned, src unalign): memcpy_fast=47ms memcpy=33 ms
result(dst unalign, src aligned): memcpy_fast=40ms memcpy=46 ms
result(dst unalign, src unalign): memcpy_fast=45ms memcpy=49 ms

benchmark(size=8192 bytes, times=262144):
result(dst aligned, src aligned): memcpy_fast=40ms memcpy=30 ms
result(dst aligned, src unalign): memcpy_fast=49ms memcpy=31 ms
result(dst unalign, src aligned): memcpy_fast=48ms memcpy=43 ms
result(dst unalign, src unalign): memcpy_fast=48ms memcpy=43 ms

benchmark(size=1048576 bytes, times=2048):
result(dst aligned, src aligned): memcpy_fast=82ms memcpy=68 ms
result(dst aligned, src unalign): memcpy_fast=84ms memcpy=68 ms
result(dst unalign, src aligned): memcpy_fast=82ms memcpy=67 ms
result(dst unalign, src unalign): memcpy_fast=81ms memcpy=72 ms

benchmark(size=4194304 bytes, times=512):
result(dst aligned, src aligned): memcpy_fast=114ms memcpy=110 ms
result(dst aligned, src unalign): memcpy_fast=101ms memcpy=107 ms
result(dst unalign, src aligned): memcpy_fast=103ms memcpy=103 ms
result(dst unalign, src unalign): memcpy_fast=101ms memcpy=105 ms

benchmark(size=8388608 bytes, times=256):
result(dst aligned, src aligned): memcpy_fast=113ms memcpy=108 ms
result(dst aligned, src unalign): memcpy_fast=100ms memcpy=107 ms
result(dst unalign, src aligned): memcpy_fast=104ms memcpy=107 ms
result(dst unalign, src unalign): memcpy_fast=101ms memcpy=107 ms

benchmark random access:
memcpy_fast=647ms memcpy=593ms

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions