Profiling help needed

Robert Hirschfeld hirschfeld at acm.org
Fri Feb 2 17:25:07 UTC 2001


Pentium (1), 233 MHz, Windows 2000:

1st run -- #(64683 1942 1623)
2nd run -- #(114755 2243 1692)
3rd run -- #(172338 1362 1633)
4th run -- #(122166 1362 1762)

-Robert


"Raab, Andreas" wrote:
> 
> Folks,
> 
> I need some help with finding out how fast (?!) certain operations (namely
> signing and verifying of Squeaklets) are on slower machines. May daily
> machine is a 700MHz P3 and this doesn't quite count for an average user :-)
> So I need some help from people actually running the latest stuff on older
> machines. If you have a 2.9 running, then please run the code below and send
> me those numbers back. Please include processor, speed and platform;
> something like
> 
> 700MHz P3 Win32: #(8296 352 362)
> 
> would be perfect. Be warned, this stuff *may*take*a*little*while* :-)
> 
> Thanks a lot! You're doing this for the benefit of mankind :-)
> 
>   - Andreas
> 
> Here it goes:
> 
> | dsa keySet msg init time1 sc msgStream time2 hash sig time3 okay |
> "initialize DSA"
> dsa _ DigitalSignatureAlgorithm new.
> init _ (Time millisecondClockValue printString,
>                 Date today printString,
>                 Smalltalk platformName printString) asByteArray.
> init _ (LargePositiveInteger basicNew: init size)
>                 replaceFrom: 1 to: init size with: init startingAt: 1.
> dsa initRandom: init.
> 
> "generate us a key pair"
> time1 _ [keySet _ dsa generateKeySet] timeToRun.
> 
> "create us a nice large message (approx. 1MB)"
> msg _ String streamContents:[:s|
>         sc _ InterpreterSupportCode class
>                 sourceCodeAt: #macNetworkFile.
>         1 to: (1000000 // sc size) do:[:i|
>                 s nextPutAll: sc.
>         ]].
> msg _ msg asByteArray.
> msgStream _ ReadStream on: msg.
> 
> "now compute hash and sign it"
> time2 _ [hash _ SecureHashAlgorithm new hashStream: msgStream.
>                 sig _ dsa computeSignatureForMessageHash: hash
>                                 privateKey: keySet first
>                 ] timeToRun.
> 
> "now verify it"
> msgStream reset.
> time3 _ [hash _ SecureHashAlgorithm new hashStream: msgStream.
>                 okay _ dsa verifySignature: sig
>                                 ofMessageHash: hash
>                                 publicKey: keySet last
>                 ] timeToRun.
> okay ifFalse:[self error:'verification failed???'].
> 
> "and the results"
> ^{time1. time2. time3 }





More information about the Squeak-dev mailing list