去除程序执行的两种方式:

1.通过一个事务:在需要消除的代码段,使用lr_wasted_time(wasteTime);

querySubmit()
{ char newStr4[10000]=""; int num4;//获取fid、roomid的个数 double wasteTime,waste; //定义变量 merc_timer_handle_t timer; lr_vuser_status_message( "当前用户名:%s,迭代次数:%d",lr_eval_string("{fname}"),++iteration ); lr_convert_string_encoding( lr_eval_string("{building}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString" ); //此时building是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中 lr_save_string( lr_eval_string("{UnicodeString}"),"building" ); //把UnicodeString参数的值又覆盖回building参数,前2步相当于完成了building参数的汉字到utf-8的转换 web_convert_param("building","SourceEncoding=PLAIN","TargetEncoding=URL",LAST); //这一步把building参数从utf-8又转换到url编码 lr_convert_string_encoding( lr_eval_string("{gardenid}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString" ); //此时gardenid是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中 lr_save_string( lr_eval_string("{UnicodeString}"),"gardenid" ); //把UnicodeString参数的值又覆盖回gardenid参数,前2步相当于完成了gardenid参数的汉字到utf-8的转换 web_convert_param("gardenid","SourceEncoding=PLAIN","TargetEncoding=URL",LAST); //这一步把gardenid参数从utf-8又转换到url编码 lr_convert_string_encoding( lr_eval_string("{roomNo}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString" ); //此时roomNo是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中 lr_save_string( lr_eval_string("{UnicodeString}"),"roomNo" ); //把UnicodeString参数的值又覆盖回roomNo参数,前2步相当于完成了roomNo参数的汉字到utf-8的转换 web_convert_param("roomNo","SourceEncoding=PLAIN","TargetEncoding=URL",LAST); //这一步把roomNo参数从utf-8又转换到url编码 // lr_output_message("roomNo的Url编码=%s", lr_eval_string("{roomNo}")); web_set_max_html_param_len("1000000"); //设置关联参数接收最大的字节数 web_reg_save_param_ex(
"ParamName=fid4",
"LB=id\":\"",
"RB=\",",
"NotFound=warning",
"Ordinal=All",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/queryData*",
LAST); web_reg_save_param_ex(
"ParamName=roomid4",
"LB=roomId\":\"",
"RB=\",",
"NotFound=warning",
"Ordinal=All",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/queryData*",
LAST); lr_rendezvous("设置提交集合点"); lr_start_transaction("查询开始事务"); web_custom_request("queryData_4",
"URL=http://0755.qfang.com/qfang-broker/house/search/queryData",
"Method=POST",
"TargetFrame=",
"Resource=0",
"RecContentType=application/json",
"Referer=http://0755.qfang.com/qfang-broker/house/search",
"Snapshot=t33.inf",
"Mode=HTML",
"EncType=application/x-www-form-urlencoded; charset=UTF-8",
"Body=houseState='RENT_SALE'%2C'RENT'%2C'SALE'%2C'OUTSIDE_SALED'%2C'COMPANY_SALED'%2C'OUTSIDE_RENTED'%2C'COMPANY_RENTED'%2C'STOP'%2C'DATA'&garden='{gardenid}'&building={building}&roomNo={roomNo}&crTypeValue=APARTMENT&subClassType='APARTMENT'&roomPattern='{roomPattern}'&permission=1&orgId={orgid}&searchPage=new&sqlQuery=false&curTab=ALL&changeSearchCondition=true",
LAST); timer=lr_start_timer(); //timer开始:创建计时器,返回值是计时器标志,统计for循环花费的时间 if (strcmp(lr_eval_string("{fid4}")," ")==0)
{
// lr_output_message("该条记录无法匹配到精确的楼盘信息!"); strcpy(newStr4,""); lr_save_string( newStr4,"lastStr4" ); // lr_output_message("newStr4的值:%s", newStr4); }
else
{
for(num4 =1;num4<=atoi(lr_eval_string("{roomid4_count}"));num4++) { sprintf( fidVar4,"{fid4_%d}",num4 ); //将num变量保存到fidVar中, sprintf( fidValue4,"%s",lr_eval_string(fidVar4) ); sprintf( roomidVar4,"{roomid4_%d}",num4 ); //将num变量保存到fidVar中, sprintf( roomidValue4,"%s",lr_eval_string(roomidVar4) ); lr_output_message("fid4_%d的值:%s", num4, fidValue4); lr_output_message("roomid4_%d的值:%s", num4, roomidValue4); strcat( fidValue4,"_" ); strcat( fidValue4,roomidValue4 ); // lr_output_message("%s", fidValue4); if(num4 != atoi(lr_eval_string("{roomid4_count}"))) { strcat( fidValue4,"," ); } strcat( newStr4,fidValue4 ); } lr_save_string( newStr4,"lastStr4" ); // lr_output_message("newStr4的值:%s", newStr4); // lr_output_message("拼接后的整体字符串lastStr4的值:%s", lr_eval_string("{lastStr4}")); }   waste = lr_end_timer(timer);  //停止timer wasteTime=waste * 1000;  lr_wasted_time(wasteTime); web_submit_data("getNewFollows_4",
"Action=http://0755.qfang.com/qfang-broker/house/follow/getNewFollows",
"Method=POST",
"TargetFrame=",
"RecContentType=application/json",
"Referer=http://0755.qfang.com/qfang-broker/house/search",
"Snapshot=t34.inf",
"Mode=HTML",
ITEMDATA,
"Name=roomIds", "Value={lastStr4}", ENDITEM,
LAST); lr_end_transaction("查询开始事务", LR_AUTO); return 0; }

方案二:通过在父事务中插入两个子事务

querySubmit()
{ char newStr4[10000]=""; int num4;//获取fid、roomid的个数 lr_vuser_status_message( "当前用户名:%s,迭代次数:%d",lr_eval_string("{fname}"),++iteration ); lr_convert_string_encoding( lr_eval_string("{building}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString" ); //此时building是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中 lr_save_string( lr_eval_string("{UnicodeString}"),"building" ); //把UnicodeString参数的值又覆盖回building参数,前2步相当于完成了building参数的汉字到utf-8的转换 web_convert_param("building","SourceEncoding=PLAIN","TargetEncoding=URL",LAST); //这一步把building参数从utf-8又转换到url编码 lr_convert_string_encoding( lr_eval_string("{gardenid}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString" ); //此时gardenid是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中 lr_save_string( lr_eval_string("{UnicodeString}"),"gardenid" ); //把UnicodeString参数的值又覆盖回gardenid参数,前2步相当于完成了gardenid参数的汉字到utf-8的转换 web_convert_param("gardenid","SourceEncoding=PLAIN","TargetEncoding=URL",LAST); //这一步把gardenid参数从utf-8又转换到url编码 lr_convert_string_encoding( lr_eval_string("{roomNo}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString" ); //此时roomNo是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中 lr_save_string( lr_eval_string("{UnicodeString}"),"roomNo" ); //把UnicodeString参数的值又覆盖回roomNo参数,前2步相当于完成了roomNo参数的汉字到utf-8的转换 web_convert_param("roomNo","SourceEncoding=PLAIN","TargetEncoding=URL",LAST); //这一步把roomNo参数从utf-8又转换到url编码 web_set_max_html_param_len("1000000"); //设置关联参数接收最大的字节数 web_reg_save_param_ex(
"ParamName=fid4",
"LB=id\":\"",
"RB=\",",
"NotFound=warning",
"Ordinal=All",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/queryData*",
LAST); web_reg_save_param_ex(
"ParamName=roomid4",
"LB=roomId\":\"",
"RB=\",",
"NotFound=warning",
"Ordinal=All",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/queryData*",
LAST); // lr_think_time(16); lr_rendezvous("设置提交集合点"); lr_start_transaction("查询开始事务"); lr_start_sub_transaction("queryDate","查询开始事务"); web_custom_request("queryData_4",
"URL=http://0755.qfang.com/qfang-broker/house/search/queryData",
"Method=POST",
"TargetFrame=",
"Resource=0",
"RecContentType=application/json",
"Referer=http://0755.qfang.com/qfang-broker/house/search",
"Snapshot=t33.inf",
"Mode=HTML",
"EncType=application/x-www-form-urlencoded; charset=UTF-8",
"Body=houseState='RENT_SALE'%2C'RENT'%2C'SALE'%2C'OUTSIDE_SALED'%2C'COMPANY_SALED'%2C'OUTSIDE_RENTED'%2C'COMPANY_RENTED'%2C'STOP'%2C'DATA'&garden='{gardenid}'&building={building}&roomNo={roomNo}&crTypeValue=APARTMENT&subClassType='APARTMENT'&roomPattern='{roomPattern}'&permission=1&orgId={orgid}&searchPage=new&sqlQuery=false&curTab=ALL&changeSearchCondition=true",
LAST); lr_end_sub_transaction("queryDate",LR_AUTO); if (strcmp(lr_eval_string("{fid4}")," ")==0)
{
// lr_output_message("该条记录无法匹配到精确的楼盘信息!"); strcpy(newStr4,""); lr_save_string( newStr4,"lastStr4" ); }
else
{
for(num4 =1;num4<=atoi(lr_eval_string("{roomid4_count}"));num4++) { sprintf( fidVar4,"{fid4_%d}",num4 ); //将num变量保存到fidVar中, sprintf( fidValue4,"%s",lr_eval_string(fidVar4) ); sprintf( roomidVar4,"{roomid4_%d}",num4 ); //将num变量保存到fidVar中, sprintf( roomidValue4,"%s",lr_eval_string(roomidVar4) ); lr_output_message("fid4_%d的值:%s", num4, fidValue4); lr_output_message("roomid4_%d的值:%s", num4, roomidValue4); strcat( fidValue4,"_" ); strcat( fidValue4,roomidValue4 ); if(num4 != atoi(lr_eval_string("{roomid4_count}"))) { strcat( fidValue4,"," ); } strcat( newStr4,fidValue4 ); } lr_save_string( newStr4,"lastStr4" ); } lr_start_sub_transaction("getNewFollows","查询开始事务"); web_submit_data("getNewFollows_4",
"Action=http://0755.qfang.com/qfang-broker/house/follow/getNewFollows",
"Method=POST",
"TargetFrame=",
"RecContentType=application/json",
"Referer=http://0755.qfang.com/qfang-broker/house/search",
"Snapshot=t34.inf",
"Mode=HTML",
ITEMDATA,
"Name=roomIds", "Value={lastStr4}", ENDITEM,
LAST); lr_end_sub_transaction("getNewFollows",LR_AUTO); lr_end_transaction("查询开始事务", LR_AUTO); return 0; }

方法三:不添加任何消除时间方法:

querySubmit()
{ char newStr4[10000]=""; int num4;//获取fid、roomid的个数 lr_vuser_status_message( "当前用户名:%s,迭代次数:%d",lr_eval_string("{fname}"),++iteration ); lr_convert_string_encoding( lr_eval_string("{building}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString" ); //此时building是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中 lr_save_string( lr_eval_string("{UnicodeString}"),"building" ); //把UnicodeString参数的值又覆盖回building参数,前2步相当于完成了building参数的汉字到utf-8的转换 web_convert_param("building","SourceEncoding=PLAIN","TargetEncoding=URL",LAST); //这一步把building参数从utf-8又转换到url编码 lr_convert_string_encoding( lr_eval_string("{gardenid}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString" ); //此时gardenid是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中 lr_save_string( lr_eval_string("{UnicodeString}"),"gardenid" ); //把UnicodeString参数的值又覆盖回gardenid参数,前2步相当于完成了gardenid参数的汉字到utf-8的转换 web_convert_param("gardenid","SourceEncoding=PLAIN","TargetEncoding=URL",LAST); //这一步把gardenid参数从utf-8又转换到url编码 lr_convert_string_encoding( lr_eval_string("{roomNo}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString" ); //此时roomNo是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中 lr_save_string( lr_eval_string("{UnicodeString}"),"roomNo" ); //把UnicodeString参数的值又覆盖回roomNo参数,前2步相当于完成了roomNo参数的汉字到utf-8的转换 web_convert_param("roomNo","SourceEncoding=PLAIN","TargetEncoding=URL",LAST); //这一步把roomNo参数从utf-8又转换到url编码 web_set_max_html_param_len("1000000"); //设置关联参数接收最大的字节数 web_reg_save_param_ex(
"ParamName=fid4",
"LB=id\":\"",
"RB=\",",
"NotFound=warning",
"Ordinal=All",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/queryData*",
LAST); web_reg_save_param_ex(
"ParamName=roomid4",
"LB=roomId\":\"",
"RB=\",",
"NotFound=warning",
"Ordinal=All",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/queryData*",
LAST); // lr_think_time(16); lr_rendezvous("设置提交集合点"); lr_start_transaction("查询开始事务"); web_custom_request("queryData_4",
"URL=http://0755.qfang.com/qfang-broker/house/search/queryData",
"Method=POST",
"TargetFrame=",
"Resource=0",
"RecContentType=application/json",
"Referer=http://0755.qfang.com/qfang-broker/house/search",
"Snapshot=t33.inf",
"Mode=HTML",
"EncType=application/x-www-form-urlencoded; charset=UTF-8",
"Body=houseState='RENT_SALE'%2C'RENT'%2C'SALE'%2C'OUTSIDE_SALED'%2C'COMPANY_SALED'%2C'OUTSIDE_RENTED'%2C'COMPANY_RENTED'%2C'STOP'%2C'DATA'&garden='{gardenid}'&building={building}&roomNo={roomNo}&crTypeValue=APARTMENT&subClassType='APARTMENT'&roomPattern='{roomPattern}'&permission=1&orgId={orgid}&searchPage=new&sqlQuery=false&curTab=ALL&changeSearchCondition=true",
LAST); if (strcmp(lr_eval_string("{fid4}")," ")==0)
{
// lr_output_message("该条记录无法匹配到精确的楼盘信息!"); strcpy(newStr4,""); lr_save_string( newStr4,"lastStr4" ); }
else
{
for(num4 =1;num4<=atoi(lr_eval_string("{roomid4_count}"));num4++) { sprintf( fidVar4,"{fid4_%d}",num4 ); //将num变量保存到fidVar中, sprintf( fidValue4,"%s",lr_eval_string(fidVar4) ); sprintf( roomidVar4,"{roomid4_%d}",num4 ); //将num变量保存到fidVar中, sprintf( roomidValue4,"%s",lr_eval_string(roomidVar4) ); lr_output_message("fid4_%d的值:%s", num4, fidValue4); lr_output_message("roomid4_%d的值:%s", num4, roomidValue4); strcat( fidValue4,"_" ); strcat( fidValue4,roomidValue4 ); if(num4 != atoi(lr_eval_string("{roomid4_count}"))) { strcat( fidValue4,"," ); } strcat( newStr4,fidValue4 ); } lr_save_string( newStr4,"lastStr4" ); } web_submit_data("getNewFollows_4",
"Action=http://0755.qfang.com/qfang-broker/house/follow/getNewFollows",
"Method=POST",
"TargetFrame=",
"RecContentType=application/json",
"Referer=http://0755.qfang.com/qfang-broker/house/search",
"Snapshot=t34.inf",
"Mode=HTML",
ITEMDATA,
"Name=roomIds", "Value={lastStr4}", ENDITEM,
LAST); lr_end_transaction("查询开始事务", LR_AUTO); return 0; }

lr计算程序执行消耗时间的比较:的更多相关文章

  1. golang 如何查看程序执行消耗时间

    写代码过程中,有时需要分析代码块的时间消耗. 本文介绍使用time包中的Since函数查看程序执行时间. package main import ( "fmt" "tim ...

  2. MSSQL的SQL语句独立执行消耗与线上执行消耗差异

    环境: SQL Server 2012 疑问:同样的一条语句,使用Profile跟踪出来的消耗与单独拿出来执行的消耗存在非常大的差距 语句如下: declare @str nvarchar(max) ...

  3. [fw]Linux系统使用time计算命令执行的时间

    Linux系统使用time计算命令执行的时间 当测试一个程序或比较不同算法时,执行时间是非常重要的,一个好的算法应该是用时最短的.所有类UNIX系统都包含time命令,使用这个命令可以统计时间消耗.例 ...

  4. MySql 简单统计查询消耗时间脚本

    MySql 简单统计查询消耗时间脚本 by:授客 QQ:1033553122 drop procedure if exists selectTime; delimiter; create proced ...

  5. C# .Net计算函数执行的时间

    C#计算函数执行的时间 protected void StopwatchTest() { System.Diagnostics.Stopwatch stopwatch = new System.Dia ...

  6. 在Linux下如何限制命令执行的时间?

    在Linux下如何限制命令执行的时间?两种解决方法,如下: 1: Linux命令——timeout 运行指定的命令,如果在指定时间后仍在运行,则杀死该进程.用来控制程序运行的时间. 2: comman ...

  7. sql语句执行的时间

    统计mysql里每条SQL语句执行的时间 收藏 CrazyHarry 发表于 2年前 阅读 3785 收藏 8 点赞 3 评论 3 Google.Github 双重认证前端课程,独家硅谷内容,每周直播 ...

  8. 如何使用FF的Firebug组件中的net工具查看页面元素加载消耗时间

    1.安装FF的Firebug组件:点击FF的Tools的Add-ons菜单,输入Firebug关键字,并选择合适的版本Install. 2.安装完毕后地址栏右边会出现一个小虫图标,右边还有一个下拉箭头 ...

  9. PHP获取PHP执行的时间

    php获取PHP执行的时间 <pre> //程序运行时间 $starttime = explode(' ',microtime()); //代码区域 //程序运行时间 $endtime = ...

随机推荐

  1. HTMLajax跨域向服务器写入数据

    1.XMLHttpRequest升级版已经实现了跨域请求.不过需要在后台设置:header("Access-Control-Allow-Origin:http://www.a.com&quo ...

  2. python2.6升级2.7导致yum无法使用 No module named yum

    这里有解决方法:https://teddysun.com/473.html 记住旧版本 Python 2.6.6 的重要路径如下所示,在运行 yum 命令的时候,会提示你哪个 module 不存在,不 ...

  3. bzoj 2434 [Noi2011]阿狸的打字机 AC自动机

    [Noi2011]阿狸的打字机 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 4001  Solved: 2198[Submit][Status][D ...

  4. java线程的基本概念

    进程和线程 进程的诞生 操作系统中有2个任务A,B,任务A先执行,执行到一半需要io,因此要大量时间,在这个时间段内cpu是空闲的,浪费了资源,于是就有进程,当A暂时无法利用cpu,但是又不能销毁时, ...

  5. 2017 济南综合班 Day 1

    送分题(songfen) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK喜欢干一些有挑战的事,比如说求区间最大子段和.它知道这个题目有O(n)的做法.于 ...

  6. Robot Framework Change chrome language

    由于open browser的参数只有一个ff_profile_dir,所以不能指定chrome profile. 只能通过python 传递lang这个参数去改变语言. python: from s ...

  7. HDU 1231 最大连续子序列 (dp)

    题目链接 Problem Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ...,  Nj },其中 1 <= ...

  8. HTML语意化

    1.什么是HTML语义化? 根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读.写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析.  2.为什么要语义化? 为了在没有CSS ...

  9. poj 1837 Balance(背包)

    题目链接:http://poj.org/problem?id=1837 Balance Time Limit: 1000MS   Memory Limit: 30000K Total Submissi ...

  10. 【Python学习笔记】异常处理try-except

    Python异常处理 我们一般使用try-except语句来进行异常处理. 使用except Exception as err可以统一捕捉所有异常,而也可以分开处理单个异常. # 分开捕捉单个异常 t ...