// // RC-BS-Test.vdm Christian Ziemski 23.11.2003 // 24.11.2003 // // // Tests the runtime of a Reg_Copy(.., APPEND) loop // against a Reg_Copy() Buf_Switch() Reg_Ins() loop // // Requires TimeDiff.vdm // Win_Clear() Win_Vert(2) Message("Measurement in progress. Please wait ... \n\n") #101=Buf_Num #104=Buf_Switch(Buf_Free) // source buffer Ins_Text("text") Ins_Newline(1) #105=Buf_Switch(Buf_Free) // target buffer File_Save_As("|(VEDIT_TEMP)\ved|(PID).txt", OK+NOMSG) Buf_Switch(#104) #103=(TFree-5000) / FileSize // number of iterations Message("\n---- via T-Reg(...,APPEND)\n\n") // ---- 1. measurement ----------- Out_Reg(103) Time(EXTRA+NOMSG) Out_Reg(CLEAR) Reg_Empty(105) BoF for(#100=0; #100<#103 ; #100++) { Reg_Copy(105, 1, APPEND) } Buf_Switch(#105) Reg_Ins(105) Buf_Switch(#104) Out_Reg(103, APPEND) Time(EXTRA+NOMSG) Out_Reg(CLEAR) ItoA(#103, 103, APPEND) // ---- end of 1. ---------------- Call_File (101, "TimeDiff.VDM") Buf_Switch(#105) Buf_Empty(OK) File_Save_As("|(VEDIT_TEMP)\ved|(PID).txt", OK+NOMSG) Buf_Switch(#104) Message("\n\n---- now via Buf_Switch() Reg_Ins()\n\n") // ---- 2. measurement ----------- Out_Reg(103) Time(EXTRA+NOMSG) Out_Reg(CLEAR) for(#100=0; #100<#103 ; #100++) { Buf_Switch(#104) BoF Reg_Copy(105, 1) Buf_Switch(#105) Reg_Ins(105) } Buf_Switch(#104) Out_Reg(103, APPEND) Time(EXTRA+NOMSG) Out_Reg(CLEAR) ItoA(#103, 103, APPEND) // ---- end of 2. ---------------- #103=1 Call_File (101, "TimeDiff.VDM") // Clean up buffers Buf_Switch(#104) Buf_Quit(OK) Buf_Switch(#105) Buf_Quit(OK) Buf_Switch(#101)