• Rusty Russell's avatar
    mem: optimize. · b967dac8
    Rusty Russell authored
    Better for larger, worse for smaller compares.
    
    Before:
    1: 3ns
    2: 3ns
    4: 5ns
    8: 9ns
    16: 11ns
    32: 33ns
    64: 45ns
    128: 87ns
    256: 157ns
    512: 296ns
    1024: 579ns
    2048: 1139ns
    4096: 2251ns
    8192: 4505ns
    16384: 9704ns
    32768: 18482ns
    65536: 36144ns
    2: 4ns
    3: 6ns
    5: 8ns
    9: 9ns
    17: 12ns
    33: 22ns
    65: 45ns
    129: 90ns
    257: 175ns
    513: 357ns
    1025: 607ns
    2049: 1204ns
    4097: 2278ns
    8193: 4552ns
    16385: 9011ns
    32769: 18405ns
    65537: 36153ns
    total = 599391004
    
    After:
    1: 6ns
    2: 7ns
    4: 7ns
    8: 7ns
    16: 7ns
    32: 8ns
    64: 9ns
    128: 13ns
    256: 24ns
    512: 47ns
    1024: 92ns
    2048: 185ns
    4096: 376ns
    8192: 739ns
    16384: 1463ns
    32768: 2914ns
    65536: 5800ns
    2: 7ns
    3: 7ns
    5: 7ns
    9: 7ns
    17: 7ns
    33: 8ns
    65: 9ns
    129: 20ns
    257: 31ns
    513: 49ns
    1025: 96ns
    2049: 189ns
    4097: 381ns
    8193: 745ns
    16385: 1477ns
    32769: 2930ns
    65537: 5824ns
    total = 599391004
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    b967dac8
mem.c 1.8 KB