Author Topic: Benchmark on 2 simple copy algorithms.  (Read 987 times)

jj2007

  • Member
  • *****
  • Posts: 8841
  • Assembler is fun ;-)
    • MasmBasic
Re: Benchmark on 2 simple copy algorithms.
« Reply #15 on: May 29, 2018, 08:04:06 PM »
I don't think win32 had a spec on SSE.
You are right, Agner says xmm regs are all volatile.

FORTRANS

  • Member
  • *****
  • Posts: 1034
Re: Benchmark on 2 simple copy algorithms.
« Reply #16 on: May 29, 2018, 11:09:04 PM »
Hi,

   Some sort of summary.

bcopy / mcopy (rounded)

hutch--
   0.95

jj2007 #2
   1.07

FORTRANS #3
   0.90

johnsa #4
   0.99

zedd151 #6
   0.98
   0.98
   0.92

zedd151 #8
   0.99

felipe #9
   0.99


Cheers,

Steve N.

mineiro

  • Member
  • ***
  • Posts: 450
Re: Benchmark on 2 simple copy algorithms.
« Reply #17 on: May 30, 2018, 12:35:41 AM »
Code: [Select]
  Warming up . . . .

  mcopy = 1042
  bcopy = 1076
  mcopy = 990
  bcopy = 1030
  mcopy = 1021
  bcopy = 1020
  mcopy = 1005
  bcopy = 1047
  mcopy = 1033
  bcopy = 1056
  mcopy = 1051
  bcopy = 1070
  mcopy = 1048
  bcopy = 1040
  mcopy = 1029
  bcopy = 1048

  1027 mcopy average
  1048 bcopy average
Press any key to continue...

Code: [Select]
processor       : 7
vendor_id       : GenuineIntel
cpu family      : 6
model           : 94
model name      : Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
stepping        : 3
microcode       : 0xba
cpu MHz         : 800.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 3
cpu cores       : 4
apicid          : 7
initial apicid  : 7
fpu             : yes
fpu_exception   : yes
cpuid level     : 22
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat xsaveopt pln pts dtherm invpcid_single retpoline tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap
bogomips        : 6816.06
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:
I'd rather be this ambulant metamorphosis than to have that old opinion about everything

zedd151

  • Member
  • ****
  • Posts: 850
Re: Benchmark on 2 simple copy algorithms.
« Reply #18 on: May 30, 2018, 07:15:06 AM »
from jj's testbed...

Code: [Select]
AMD A6-9220e RADEON R4, 5 COMPUTE CORES 2C+3G   (SSE4)

Algo           memcpy memcpy_S   MemCo1   MemCo2  MemCoC3  MemCoP4  MemCoC2   MemCoL  xmemcpy
Description       CRT     Guga rep movs   movdqa  lps+hps   movdqa   movdqa   Masm32   Habran
                                dest-al    psllq CeleronM  dest-al   src-al  library
Code size           ?       88       59      291      222      200      269       33      104
---------------------------------------------------------------------------------------------
2048, d0s0-0      132      297      196      191      186      186      175      191      276
2048, d1s1-0      238      251      218      215      207      206      208      241      274
2048, d7s7-0      234      253      216      214      203      202      212      245      275
2048, d7s8-1      236      252      257      406      525      163      175      240      276
2048, d7s9-2      234      253      260      406      526      161      176      243      275
2048, d8s7+1      228      253      244      379      527      164      325      241      275
2048, d8s8-0      234      251      197      216      210      205      215      193      278
2048, d7s3+4      227      251      254      380      527      161      167      245      277
2048, d3s7-4      233      250      257      417      526      164      176      239      274
2048, d8s9-1      226      251      242      400      522      163      176      241      273
2048, d9s7+2      231      249      258      374      524      165      166      243      272
2048, d9s8+1      229      253      259      372      524      166      165      239      271
2048, d9s9-0      233      249      217      213      207      203      209      243      272
2048, d15s15      235      252      213      217      205      206      212      243      274
 Sum of count      225      254      234      314      387      179      196      234      274

--- ok ---

I'm not always the sharpest knife in the drawer, but I have my moments.  :P

AW

  • Member
  • *****
  • Posts: 1564
  • Let's Make ASM Great Again!
Re: Benchmark on 2 simple copy algorithms.
« Reply #19 on: June 13, 2018, 10:42:25 PM »
This is from my last toy, a 8th generation one:

Coffe Lake
i7 8700K @3700K GHz

 mcopy = 938
  bcopy = 922
  mcopy = 937
  bcopy = 906
  mcopy = 890
  bcopy = 906
  mcopy = 953
  bcopy = 922
  mcopy = 875
  bcopy = 875
  mcopy = 906
  bcopy = 891
  mcopy = 891
  bcopy = 875
  mcopy = 906
  bcopy = 906

  912 mcopy average
  900 bcopy average

And this one does support TSX instructions.
It is not a notebook, but an old school desktop set to slowly replace my 4 year old beloved windows 7 workhorse.

habran

  • Member
  • *****
  • Posts: 1179
    • uasm
Re: Benchmark on 2 simple copy algorithms.
« Reply #20 on: June 14, 2018, 05:11:37 AM »
Code: [Select]
Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
Instructions sets MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, AVX, AVX2, FMA3

  Warming up . . . .              Warming up . . . .             Warming up . . . .       
                                                                                           
  mcopy = 1375                    mcopy = 1296                   mcopy = 1375             
  bcopy = 1266                    bcopy = 1172                   bcopy = 1187             
  mcopy = 1328                    mcopy = 1312                   mcopy = 1359             
  bcopy = 1234                    bcopy = 1172                   bcopy = 1187             
  mcopy = 1344                    mcopy = 1266                   mcopy = 1297             
  bcopy = 1188                    bcopy = 1157                   bcopy = 1172             
  mcopy = 1297                    mcopy = 1250                   mcopy = 1313             
  bcopy = 1203                    bcopy = 1140                   bcopy = 1156             
  mcopy = 1266                    mcopy = 1250                   mcopy = 1250             
  bcopy = 1172                    bcopy = 1140                   bcopy = 1141             
  mcopy = 1297                    mcopy = 1234                   mcopy = 1297             
  bcopy = 1172                    bcopy = 1140                   bcopy = 1125             
  mcopy = 1281                    mcopy = 1219                   mcopy = 1281             
  bcopy = 1172                    bcopy = 1140                   bcopy = 1234             
  mcopy = 1281                    mcopy = 1250                   mcopy = 1390             
  bcopy = 1172                    bcopy = 1140                   bcopy = 1234             
                                                                                           
  1308 mcopy average              1259 mcopy average             1320 mcopy average       
  1197 bcopy average              1150 bcopy average             1179 bcopy average       
Cod-Father