Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
3.2 KiB

  1. rpcrt - RPC runtime performance tests:
  2. Null Calls, Buffer I/O, Binding, Context Handles, Etc.
  3. bin\*\rpcsrv -h // The server controls which test(s) get run, read
  4. the usage for info.
  5. bin\*\rpcclnt -t <protseq> [-e <endpoint>] [-s <server>]
  6. workset - Rpc client and server applications used to measure working set.
  7. start bin\*\wssrv [-t protseq] [-e endpoint]
  8. start bin\*\wsclnt [-t protseq] [-e endpoint]
  9. Client and server applications pause to allow working set measurement:
  10. Server: startup, after listen
  11. Client: startup, after first call, after flush and another call,
  12. after flushing the server and making another call.
  13. lpc - Raw LPC client and server
  14. start bin\*\lpcsrv
  15. start bin\*\lpcclnt [-i iterations] -n case -n size
  16. Cases:
  17. 1: Uses the message for data transfer, size limited to ~225b
  18. 2: Uses Nt{Read,Write}RequestData to move data, unlimited size.
  19. In case 2, its behavior is different (faster) than LRPC.
  20. context - Measures context switch time using a variety of mechanisms
  21. start bin\*\context [-n type] [-n case]
  22. Types:
  23. 1: Both client and server, context switch between two threads
  24. 2: Server of process-to-process context switches
  25. 3: Client of process-to-process context switches
  26. Cases:
  27. 1: Uses an NT eventpair
  28. 2: User an NT eventpair, but client uses two steps (sethigh, waitlow)
  29. 2: Uses two win32 events and WaitForSingleObject.
  30. 3: Uses two win32 events and WaitForSingleObject w/ timeout.
  31. Note: Use lpc test to measure pp context switch via LPC.
  32. Note: Use pmsg test to measure pp and tt context switch via PostMessage()
  33. postmsg - Measures time to do process-to-process (pp) and thread-to-thread
  34. PostMessage() calls.
  35. Note: The server is a windows app which doesn't display a window,
  36. it's running, really it is!
  37. start bin\*\pmsgsrv
  38. bin\*\pmsgclnt [-n case]
  39. Cases:
  40. 1: PostMessage (thread-to-thread)
  41. 2: PostMessage (procress-to-process)
  42. 3: PostMessage and win32 event. (tt)
  43. 4: PostMessage and win32 event. (pp)
  44. Note: The postmessage and win32 event version forces a context
  45. switch on every post message. This is more OLE-like. Otherwise,
  46. in cases 1 and 2, the messages get qued-up.
  47. local - A variety of system/machine/processor/memory measurements.
  48. bin\*\local -n case
  49. Cases:
  50. 1: -n start -n end - memcpy calls (maximum cacheing)
  51. 2: -n start -n end - strcpy calls (maximum cacheing)
  52. 3: -n start -n end - strlen calls (maximum cacheing)
  53. 4: -n size - allocate and free 'size' memory blocks.
  54. 5: SetEvent and ResetEvent calls (kernel traps)
  55. 6: GetTickCount calls
  56. 7: Open and query a registry key
  57. 8: Query a registry key
  58. 9: Create and set a key (* must run first, before 7, 8 and 10)
  59. 10: Updating (setting) a key