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
|