LoadRunnerã«ã¯ããŸããŸãªããã¹ãåŠçã«é©ããAPIããããŸãããããã§ãååã§ã¯ãªãå Žåããããæ±çšé¢æ°ã䜿çšããŠæ¡åŒµããå¿
èŠããããŸãã å€ãã®å Žåããã®ãããªå®è£
ã¯èªè»¢è»ã®çºæã«ãªããŸãããåç¥ã®ããã«ãã»ãšãã©ãã¹ãŠã®ã¿ã¹ã¯ã¯æ¢ã«èª°ãã«ãã£ãŠè§£æ±ºãããŠããŸãã ããã«ãç§ã¯CïŒã®ããã¯ã°ã©ãŠã³ããååã«ãããããåé¡ã解決ãããšãã«ãæå
ã«.NET Frameworkã¯ã©ã¹ã©ã€ãã©ãªãããã°ããã®ã¿ã¹ã¯ã¯ç°¡åã«è§£æ±ºããããšèããããšããããããŸãã ååãšããŠãç§ãJavaããã°ã©ãã§ããã°ãJavaïŒã»ãŒãã¹ãŠãåããŠããŸãïŒã«ã€ããŠãåæ§ã®èãããããŸããã.NETã¯ç§ã«è¿ãã®ã§ãããã«ã€ããŠã®ã¿èª¬æããŸãã å¯äœçšãšããŠããã®èšäºã¯ãã€ãã£ãã³ãŒãããCLRã³ãŒããåŒã³åºãæ¹æ³ãåŠã³ãã人ã«åœ¹ç«ã¡ãŸãã ãã®ãªãã·ã§ã³ã®å°èŠæš¡ãªããã©ãŒãã³ã¹èª¿æ»ãæäŸãããŠãããåäœããVisual Studioãããžã§ã¯ããã³ãã¬ãŒããšLoadRunnerã¹ã¯ãªãããå«ãŸããŠããŸãã
LoadRunnerã®.NETããã³Java
ãŸããé
åçã ãæªãéžæè¢ãèããŠãã ããã ååãšããŠã.NETãšJavaã®äž¡æ¹ãLoadRunnerã§çŽæ¥åäœããŸãã ãããã®åãã©ãããã©ãŒã ã«ã¯ãæšæºã®LoadRunner APIã®ã©ãããŒã§ããã¯ã©ã¹ããããŸãã ãããã
.NETããã³
Java Vuserã¢ãŒããéžæããããšã«ãããããããããã«äœ¿çšã§ã
ãŸã ã ããã«èšã£ãŠã¿ãŸãããããããã®ã¹ã¯ãªããéçºã¢ãŒãã¯ããããã«ç°ãªãã¢ãŒãçšã«äœæãããŠããŸãã
.NETã¢ãŒãã§ã¯ã.NETã¢ããªã±ãŒã·ã§ã³ã®ã¢ã¯ãã£ããã£ãèšé²ããã¢ããªã±ãŒã·ã§ã³ã®ã¯ã©ã¹ã¡ãœãããçŽæ¥åŒã³åºãã¹ã¯ãªãããäœæã§ããŸãã
Java Vuserã«ã¯
Javaçšã®æ¬æ Œçã§ææžåãããAPIããããŸãããèšé²ã¢ãŒãã¯ãŸã£ãããããŸããïŒ
.NETãšåãæ¹æ³ã§
Java Record Replayããã
ãŸã ïŒã ãã®ãããããããWebã«äœ¿çšããããšã¯éåžžã«åé¡ãå€ããäžè¬çã«ããã®å Žåã®ã䜿çšããšã¯ãäœããã®åœ¢ã§æ©èœããã³ãŒããæžããããšãæå³ãããã以äžã¯äœãããŸããã ããŒã«ããããŒãã¹ã¯ãªãããéçºããå Žåããã©ãã£ãã¯ãèšé²ãããããã¹ã¯ãªããïŒãã©ãããå«ãïŒã«å€æã§ããããšãéèŠã§ããããã¯ããã«éçºãããŸãã ããããããã«åé¡ããããŸãïŒWebãã©ãã£ãã¯ã®èšé²ïŒ
Webã¢ãŒã
-HTTP / HTML ïŒã¯ãCã³ãŒããžã®å€æã§ã®ã¿å¯èœã§ãã ã³ãã¥ããã£ã¯ãããé·ãéåŸ
ã£ãŠããŸããããå°ãªããšãæ°ããããŒãžã§ã³12.00ã§ã¯CïŒãŸãã¯Javaãéžæã§ããããã«ãªãããšãæ£çŽã«é¡ã£ãŠããŸããããããã¯èµ·ãããŸããã§ããã ããã«ã.NETçšã®APIã¯å®éã«ã¯ææžåãããŠããããæéã®äžã§çæãèžãã§è¡åããå¿
èŠããããŸãïŒãšããã§ã.NETãšJavaã©ãããŒã®ã¡ãœããã·ã°ããã£ãç°ãªããŸãïŒã .NETã¯ã©ã¹ã§å¿
èŠãªã©ãããŒã¡ãœãããæ¯èŒçè¿
éã«èŠã€ããããšãã§ããå Žåããã©ã¡ãŒã¿ãŒãæž¡ãæ¹æ³ãããããŸããã
äŸïŒ
namespace Script { public partial class VuserClass { public int Action() { web.url("ya.ru", "URL=http://ya.ru/", null, null); return 0; } } }
ãã®ã³ãŒãã¯æ©èœããC颿°
web_urlïŒïŒãšåçã®ãªã¯ãšã¹ããäœæããŸãã ãã®æ¹æ³ã¯ãã©ã³ã¿ã€ã èšå®ã§ä»»æã®.NETã©ã€ãã©ãªã«æ¥ç¶ããŠããã«äœ¿çšã§ãããšããç¹ã§é
åçã§ãããããã«çåãçããŸãã
- web.urlïŒïŒãã©ã¡ãŒã¿ãweb_urlïŒïŒãšåãæ¹æ³ã§æž¡ãæ¹æ³ã¯ïŒ
- ãããã·ãä»ããŠãã¹ãŠãæ©èœãããæ¹æ³ã¯ïŒ
- ãã®ã¢ãŒãã§ã©ã³ã¿ã€ã èšå®ã®å€§éšåãæ¶ããã®ã¯ãªãã§ããïŒ ïŒååãšããŠãçç±ã¯çè§£ã§ããŸãããããã«ããç°¡åã«ãªããŸãããïŒ
äžè¬ã«ããã®ã¢ãŒãã¯ãã®ããã«äœæãããŠããªãããããã®ãªãã·ã§ã³ã®æœåšçãªå©äŸ¿æ§ã«ãããããããä»ã®ç®çã«ã¯äœ¿çšãããCã®ãŸãŸã§ãã ããã§ããã¹ã¯ãªããã®äžéšããã°ããäžæžãããæ©èœã¯ããéèŠã§ãã åæã«ãããã€ãã®ç°¡åãªæé ã§ãLoadRunner Cã¹ã¯ãªãããã.NETã³ãŒããåŒã³åºãããšãã§ããŸãã
LoadRunnerã¯ããã€ãã£ãã©ã€ãã©ãªã®åŒã³åºãã宿çã«ãµããŒãããŠããŸããããã«ã¯ã颿°
lr_load_dllïŒïŒããããŸãã .NETãåŒã³åºãã«ã¯ããã€ãã£ãã¬ã€ã€ãŒãèšè¿°ããå¿
èŠããããŸããå®éããã€ãã£ãã³ãŒãããCLRã³ãŒããåŒã³åºãããšã¯ãå
šäœã®åé¡ã§ãã ãããè¡ãæ¹æ³ãç¥ã£ãŠãã人ã¯ã次ã®ã»ã¯ã·ã§ã³ãã¹ãããã§ããŸããæ®ãã®éšåã«ã€ããŠã¯ããã®æ¹æ³ã説æããŸãã
.NETã«ã¢ã¯ã»ã¹ã§ãããã€ãã£ãDLL
ãã©ãŒã ã®è¡ããã³ãŒãããå¿
èŠããããšïŒ
Создать заявку
ããã¯ãXMLããã³HTMLå
ã§äœ¿çšããããšã³ã³ãŒãã®äžçš®ã§ããåæåã¯UTF-8ã³ãŒããšããŠè¡šãããŸãã LoadRunnerã§ãããè¡ãããšã«æåããŸããã§ããïŒèª°ããæ¹æ³ãç¥ã£ãŠãããªããç§ã®éŒ»ãçªããŠãã ããïŒã ããããDottnetã¯ã©ã¹
HttpUtilityã«ã¯ããããå®å
šã«è¡ã
HtmlDecodeïŒïŒã¡ãœããããããŸãã ãããzayuzatããæ¹æ³ãèŠãŠã¿ãŸãããã
å¿
èŠæ¡ä»¶
åœç¶ãã·ã¹ãã ã«ã€ã³ã¹ããŒã«ããå¿
èŠããããŸããNETFrameworkã å
·äœçã«ã¯ããã®ã¡ãœããã¯2.0以éã®ããŒãžã§ã³ïŒãŸãã¯ãã以åãããããŸããããåé¡ã§ã¯ãªãïŒã«ãããŸããããã€ãã£ãã©ã€ãã©ãªã¯ã¢ã¯ã»ã¹ããŠããããŒãžã§ã³ã瀺ããç°ãªãããŒãžã§ã³ã¯äºææ§ããªãããšã«æ³šæããŠãã ããã ãŸããWin7 / 2008ã«ã¯.NET FW 3.5ãæ¢ã«ã€ã³ã¹ããŒã«ãããŠããããããããã®OSã§ããŒãã¹ããŒã·ã§ã³ã䜿çšããå Žåãäœãã€ã³ã¹ããŒã«ããå¿
èŠã¯ãããŸããããã©ã¹ãã©ã¹ã©ã€ãã©ãªå
ã§.NET Framework 3.5ã䜿çšããŠããããšã瀺ãã ãã§ãã
DLLãæžã
ãã°ããã®éãVisual Studioã§C ++ã³ãŒããã.NETã¯ã©ã¹ã«ã¢ã¯ã»ã¹ããããšãéåžžã«ç°¡åã«ãªããŸããã ãããè¡ãã«ã¯ããããžã§ã¯ãèšå®ã§
å
±éèšèªã©ã³ã¿ã€ã ãµããŒãã¢ãŒããèšå®ããå¿
èŠããããŸãã æ¬¡ã«ããããžã§ã¯ãããããã£ãå
±éããããã£ããã¬ãŒã ã¯ãŒã¯ãåç
§ã«ç§»åãã䜿çšããã¢ã»ã³ããªãžã®ãªã³ã¯ã远å ããŸãã ãã®å ŽåãAssemblies / Frameworkã®System.Webã«é¢å¿ããããŸãã ãã®åŸãC ++æ§æã§.NETã¯ã©ã¹ã«æ¢ã«ã¢ã¯ã»ã¹ã§ããŸãã
#include "..\LR include 11.50\lrun.h"
LoadRunnerã¯ãã€ãã£ãdllã®ã¿ãæ¥ç¶ã§ãããããCäºæã®ã·ã°ããã£ãšæ»ãå€ãæã€é¢æ°ã宣èšããŸãã æ¬¡ã«ãã^ãèšå·ã䜿çšããŠ.NETåã宣èšããC ++åãšåºå¥ããŸãã Cè¡ããCLRæååãäœæããŠã.NETã¡ãœããã«æž¡ãå¿
èŠããããŸãã
gcnewãªãã¬ãŒã¿ãŒã¯ãCLRãªããžã§ã¯ãã®äœæã«äœ¿çšãããŸãã
颿°ãdllã®å€éšããåŒã³åºãããšãã§ããããã«ããšã¯ã¹ããŒãããå¿
èŠããããŸãã ãã®ããã«æ¬¡ã®ããã«èšè¿°ããŸã
extern "C" { __declspec( dllexport ) int xml_http_decode(const char* inputStr, const char* outputParam); }
次ã«ãã©ã€ãã©ãªãLoadRunnerã«æ¥ç¶ããéãã«é¢æ°ãåŒã³åºããŸãã
lr_load_dll("hplr.dll");
颿°
lr_load_dllïŒïŒã ãããã¡ã€ã«ãèŠã€ãããŸããããšããçŽãããããšã©ãŒã§LoadRunnerã§ã¯ã©ãã·ã¥ããå Žåããã©ã°ã€ã³DLLèªäœã§ã¯ãªãããã®äŸåé¢ä¿ã§ããå¯èœæ§ããããŸãã ãããã°ã¢ãŒãã§ãã«ããããã©ã€ãã©ãªãæ£åžžã«æ¥ç¶ããã«ã¯ã
msvcp110d.dllããã³
msvcr110d.dllãã¡ã€ã«ããããã32ãããããã³64ãããOSã®System32ãŸãã¯SysWOW64ã«è¿œå ã
ãŸã ã ãã®ä»ã®äŸåé¢ä¿ã¯ãDependency Walkerãªã©ã䜿çšããŠèª¿æ»ã§ããŸãã ã©ã€ãã©ãªããªãªãŒã¹ã¢ãŒãã§ã³ã³ãã€ã«ãããå Žåã远å ã®å¿
èŠã¯ãããŸããïŒã³ã³ãã€ã©èšå®ã®è¿œå ã®
#includeããã³äŸåé¢ä¿ãåé€ããŸãïŒã
C ++ã§èšè¿°ããã颿°ã¯ãDLLã§ããã«äœ¿çšã§ããŸãïŒãšã¯ã¹ããŒãããããšãå¿ããªãã§ãã ããïŒïŒã LoadRunnerã§æžãããšãã§ããŸã
ã¹ã¯ãªãããã©ã«ãããå§ãŸãDLLãžã®çžå¯Ÿãã¹ã VuGenãåèµ·åããããã¹ã¯ãªãããå床éãããããå¿
èŠã¯ãããŸããã
ããã«ãããæ¢è£œã®.NETã¯ã©ã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã ããããç§ã®æèŠã§ã¯ã.NETã§äœæ¥ããããã«C ++ã§ã³ãŒããæžãã®ã¯å€å°äžäŸ¿ã§ãããã«é©ããèšèªãä»ã«ããããŸãã
æ³šïŒ C ++ã«ã¯ãæ¢è£œã®ã©ã€ãã©ãªããããããããŸãïŒãããŠããããã¯ããéãåäœããŸãïŒããæåã«ãããç¥ãããŠããçµéšãšç²ŸåºŠãå¿
èŠã§ãããããŠç¬¬äºã«ãããã¯ãã®èšäºã®ç¯å²å€ã§ããCïŒã§ã«ã¹ã¿ã ã©ã€ãã©ãªãåŒã³åºã
CïŒã§ããè€éãªããžãã¯ãèšè¿°ããå¥ã®ã¢ã»ã³ããªã«ããã±ãŒãžåãããšããŸãã LRãã圌女ã«ã¢ã¯ã»ã¹ããæ¹æ³ã¯ïŒ
ååãšããŠããã¹ãŠã¯åã®å Žåãšåãã§ããªã³ã¯ãã¢ã»ã³ããªã«è¿œå ããã ãã§ïŒãœãªã¥ãŒã·ã§ã³ãŸãã¯åç
§ã䜿çšïŒãã¯ã©ã¹ãã¢ã»ã³ããªããåŒã³åºãå¿
èŠããããŸãã
CïŒDLL
äœããã®çç±ã§ãLoadRunnerã¯ãµãŒããŒå¿çã§ã®ã¿æ£èŠè¡šçŸãæ€çŽ¢ã§ããŸãããCè¡ãŸãã¯ãã©ã¡ãŒã¿ãŒå€ã§æ£èŠè¡šçŸãèŠã€ããæ¹æ³ã¯äžæã§ãïŒèª°ããç¥ã£ãŠãããªãã錻ãçªãïŒã ãã®åé¡ã解決ããã«ã¯ã次ã®é¢æ°ãèšè¿°ã§ããŸãã
ãã®ã³ãŒããå«ãã¢ã»ã³ããªãã°ããŒãã«ã¢ã»ã³ããªãã£ãã·ã¥ïŒGACïŒã«é
眮ããå¿
èŠããããŸãã ãããè¡ãã«ã¯ãWindows SDKã®äžéšã§ãããVisual Studioãšå
±ã«ã€ã³ã¹ããŒã«ãããgacutil.exeãŠãŒãã£ãªãã£ã䜿çšããŸãã .NET Framework 4.0 / 4.5ã®å ŽåãSDKã®8çªç®ã®ããŒãžã§ã³ã®gacutil.exeã®å¯Ÿå¿ããããŒãžã§ã³ã䜿çšããå¿
èŠããããŸãã以åã®ããŒãžã§ã³ã¯4.0 / 4.5ãã«ããã€ã³ã¹ããŒã«ã§ããŸããã
gacutil.exe -i HplrCs.dll
GACã§ã®ã€ã³ã¹ããŒã«ã¯ã管çè
æš©éã§å®è¡ããå¿
èŠããããŸãã æ¬¡ã®ããã«ããŠãã¢ã»ã³ããªããã£ãã·ã¥ã«ååšããããšã確èªã§ããŸãã
gacutil.exe -l HplrCs
GACã®ãã«ãããŒãžã§ã³ã眮ãæããã«ã¯ã以åã®ããŒãžã§ã³ã®äžã«ã€ã³ã¹ããŒã«ãå床å®è¡ããå¿
èŠããããŸãã å€ãããŒãžã§ã³ãåé€ããå¿
èŠã¯ãããŸããããã€ã³ã¹ããŒã«ãæåããããšã確èªããããšãéèŠã§ãã
ãã€ãã£ãã©ãããŒã®äœæ
ç¹°ãè¿ããŸãããæåã®ãªãã·ã§ã³ãšåæ§ã«ãLoadRunnerãš.NETã¢ã»ã³ããªéã®ãªã³ã¯ãšãªããã€ãã£ãã©ã€ãã©ãªãäœæããŸãã
#include "..\LR include 11.50\lrun.h"
颿°ãšå®æ°LR
ãããããäžèšã®ã³ãŒãã¯LoadRunner颿°ãšå®æ°ã䜿çšããŠããããšã«æ°ã¥ããã§ãããã ããã¯ãç§ãã¡ãè¡ã£ãããšã®ãããã§å¯èœã§ãã
#include "..\LR include 11.50\lrun.h"
ãããæ£ããã¢ã»ã³ãã«ããã«ã¯ããªã³ã«ãŒå
¥åã«lrun50.libã©ã€ãã©ãªã远å ããå¿
èŠããããŸãã ãããã¯ãããããã«ãããŸã
C:\Program Files (x86)\HP\LoadRunner\include C:\Program Files (x86)\HP\LoadRunner\setup\dot_net\Vc9\VCWizards\LrCVuserDllLibrary\templates\1033
圌ãã®å©ããåããŠãã¹ã¯ãªããããåŒã³åºããå Žåãšåãæ¹æ³ã§LoadRunner API颿°ãåŒã³åºãããšãã§ããŸãã
äŸ
MS Visual Studio 2012ãããžã§ã¯ãã®åœ¢åŒã®å®å
šã«æ¢è£œã®ãã³ãã¬ãŒãããããŸãã
ãªã³ã¯ããååŸã§ããŸãã
ã¢ãŒã«ã€ãã³ã³ãã³ãïŒ
- C ++ã¯ã.NET Frameworkãšä»ã®.NETã¢ã»ã³ããªã®äž¡æ¹ã§çŽæ¥ã³ãŒããåŒã³åºããããžã§ã¯ãã§ãã
- C Sharpã¯ã.NETã®ã©ã€ãã©ãªïŒã¢ã»ã³ããªïŒã®äŸã§ãã
- LR include *ããã³LR lib *ã¯LoadRunnerããã±ãŒãžã®ãã¡ã€ã«ã§ãLoadRunnerãã€ã³ã¹ããŒã«ãããŠããªãå Žåã«ãããžã§ã¯ãããã«ãã§ããããã«ããããã«ã³ããŒãããŸãã
- åºå-åéããããã€ããªã
- LR Ext libã®äœ¿çšäŸ-äžèšã®ã¢ãããŒãã䜿çšããLoadRunnerã¹ã¯ãªããã®äŸã
Visual Studioã§ãããžã§ã¯ããåããŠéããšã䜿çšãããŠãã.NET Frameworkã®ããŒãžã§ã³ãæŽæ°ããããã«æ±ããããŸãã äœãèµ·ãã£ãŠããã®ãçè§£ã§ããªãå Žåã¯ããããè¡ãã¹ãã§ã¯ãããŸããã ããŒãžã§ã³ãæŽæ°ãããšããã®ããŒãžã§ã³ãšã¿ãŒã²ãããã¬ãŒã ã¯ãŒã¯ïŒãããžã§ã¯ãããããã£ïŒã䜿çšããŠ.NETã¢ã»ã³ããªããã«ãããå¿
èŠããããŸãã ãšããã§ãã€ã³ã¿ãŒãã§ã€ã¹ã®ã©ãã§C ++ãããžã§ã¯ãã®.NET Frameworkã®ããŒãžã§ã³ã倿Žã§ãããã¯ããããŸããã§ããã C ++ãããžã§ã¯ãã®ããããã£ã«è¡šç€ºãããŸããã衚瀺ããããã ãã«å€æŽããããšã¯ã§ããŸããã ãã ããããã¯ããã¹ããšãã£ã¿ãŒã§.vcxprojãã¡ã€ã«ãéããXMLèŠçŽ TargetFrameworkVersionãèŠã€ããããšã§å®è¡ã§ããŸãã ãããã£ãŠããããžã§ã¯ãããŸã æŽæ°ããŠããå Žåã¯ãTargetFrameworkVersionãå¿
èŠãªãã®ã«ç·šéãããã.NET Frameworkã®å¥ã®ããŒãžã§ã³ã䜿çšããããã«åãæ¿ããŸãã
æ§èœ
ææ¡ãããã¢ãããŒãã®ããã©ãŒãã³ã¹ã¯ãçµã¿èŸŒã¿é¢æ°ã䜿çšããæå³ãå°ãªããCã®LRã§ã³ãŒãã䜿çšãããã»ã©é
åçã§ãã äœããã®ç®çã§çµã¿èŸŒã¿ã®LoadRunner颿°ãããå Žåã¯ããã®èåŸã«ãã€ãã£ãã³ãŒãããããããããã䜿çšããå¿
èŠããããŸããããã¯ãããé«éã«æ©èœããããšãæå³ããŸãã
ããšãã°ãçŽ32KBã®é·ãã®æååããéšåæååãèŠã€ããŠã¿ãŸãããïŒããããé·ãããã®ã¯å°é£ã§ããããã¯ãLoadRunnerãããŒã«ã«ãã©ã¡ãŒã¿ã®ã¹ã¿ãã¯ã«å²ãåœãŠãããšãã§ããæå€§å€ã§ããããã§ãïŒã ç§ã¯ç¹ã«éšåæååæ€çŽ¢ãå€å
žçãªã¿ã¹ã¯ã®1ã€ãšããŠããŸãããªããªãããããããã®ã¢ã«ãŽãªãºã ã¯å¯èœãªéãæé©åãããã¹ãã ããã§ãã
#define BUFF_SIZE 32700 char buff[BUFF_SIZE]; int i; lr_load_dll("hplr.dll");
.NETã³ãŒãã¯åŒçšããŸããããéåžžã®
String.IndexOfïŒïŒãç¶ããŸãã æž¬å®ã¯ãã³ã³ãããŒã©ãŒã®ã¹ã¿ãŒãã¢ããã¢ãŒãã§ã®ã¿å®è¡ããå¿
èŠããããVuGenã§ã¯ãå®è¡ã2æ¡é
ããªããŸãã
Find substring, internal function: 1,505 Find substring, C# function: 13,323
ããŠãäºæ³éãã ã¡ã€ã³ã®å®è¡æéã¯å®éã«ã¯ãµãã¹ããªã³ã°ã®æ€çŽ¢ã§ãããããã§ã¯ãã€ãã£ãã³ãŒãã倧ããªå©ç¹ããããããŸãã
const char *ã
System.Stringã«å€æãããšãããã»ã¹ã®é床ãäœäžããŸãã
ããããçãããããŸãã ã€ã³ã¿ããªã¿ãç¬ç«ããŠåäœãããŸãã ãããè¡ãã«ã¯ãæŽæ°æŒç®ã§åçŽãªã¢ã¯ã·ã§ã³ãå®è¡ãã颿°ãäœæããŸãã
int int_arithm_lr(int p) { int i; int s = p; for (i = 0; i < 10000; i++) { s += i * (i % 2 * 2 - 1); } return s; }
CïŒã³ãŒãã¯ãŸã£ããåãã§ãããpublic staticãšããåèªããããŸãã
äž¡æ¹ã®ã©ã³ã¿ã€ã ã§å®è¡éåºŠãæ¯èŒããŸãã
lr_start_transaction("Integer arithmetics, LR function"); for (i = 0; i < 500; i++) int_arithm_lr(i); lr_end_transaction("Integer arithmetics, LR function", LR_AUTO); lr_start_transaction("Integer arithmetics, C# function"); for (i = 0; i < 500; i++) int_arithm_net(i); lr_end_transaction("Integer arithmetics, C# function", LR_AUTO);
Integer arithmetics, LR function: 45,772 Integer arithmetics, C# function: 0,013
å·®ã¯3.5ååã§ãã
ãã®ãããªèšç®ã®äœ¿çšã¯è² è·ãã¹ãã®ã·ããªãªã§ã¯äžè¬çã§ã¯ãããŸããããLRã€ã³ã¿ãŒããªã¿ãŒã®åŒ±ç¹ã§ãããã€ãã£ãã³ãŒãã®äœéåãæããã«ããŸãã ãããã£ãŠãæŽç·Žããããã®ãæžãå¿
èŠãããå Žåã.NETã§ã¯ããããå®è£
ããæ¹ã䟿å©ã§ããã ãã§ãªããLRã®Cã³ãŒããããã¯ããã«é«éã«åäœããŸãã
ãããããããªãã®æ³šæã«æè¬ããŸãïŒ