4
// gives access to the Pentium's (secret) cycle counter
6
// This software was written by Leonard Janke (janke@unixg.ubc.ca)
7
// in 1996-7 and is entered, by him, into the public domain.
9
#if defined(__WATCOMC__)
10
void GetTSC(unsigned long&);
11
#pragma aux GetTSC = 0x0f 0x31 "mov [edi], eax" parm [edi] modify [edx eax];
12
#elif defined(__GNUC__)
14
void GetTSC(unsigned long& tsc)
16
asm volatile(".byte 15, 49\n\t"
21
#elif defined(_MSC_VER)
23
void GetTSC(unsigned long& tsc)
35
#include <openssl/rc4.h>
37
void main(int argc,char *argv[])
39
unsigned char buffer[1024];
41
unsigned long s1,s2,e1,e2;
43
unsigned long data[2];
51
if (num == 0) num=256;
52
if (num > 1024-16) num=1024-16;
57
for (i=0; i<10; i++) /**/
59
RC4(&ctx,numm,buffer,buffer);
61
RC4(&ctx,numm,buffer,buffer);
64
RC4(&ctx,num,buffer,buffer);
66
RC4(&ctx,num,buffer,buffer);
69
printf("RC4 (%d bytes) %d %d (%d) - 8 bytes\n",num,
70
e1-s1,e2-s2,(e1-s1)-(e2-s2));