public void TestMicroBenchmark() { ValueEval strArg = new StringEval("some longer text that needs a number of replacements to check for runtime of different implementations"); long start = TimeUtil.CurrentMillis(); for (int i = 0; i < 300000; i++) { ValueEval ret = TextFunction.PROPER.Evaluate(new ValueEval[] { strArg }, 0, 0); Assert.AreEqual("Some Longer Text That Needs A Number Of Replacements To Check For Runtime Of Different Implementations", ((StringEval)ret).StringValue); } // Took aprox. 600ms on a decent Laptop in July 2016 Console.WriteLine("Took: " + (TimeUtil.CurrentMillis() - start) + "ms"); }
/** * 创建一个腾讯云连接 * @param action * @param apiAddr * @param urlArgs * @return 接口返回 */ private RestRequestAsyncHandle createTenAccess <T>(String action, String apiAddr, SortedDictionary <string, string> urlArgs, Action <IRestResponse <T> > callBackActoin) where T : new() { if (null == urlArgs) { urlArgs = new SortedDictionary <string, string>(StringComparer.Ordinal); } var nonce = RandomUtil.MakeSring(false, 6); PutUrlArg(urlArgs, "Action", action); PutUrlArg(urlArgs, "Timestamp", TimeUtil.CurrentMillis() / 1000 + ""); PutUrlArg(urlArgs, "Nonce", nonce); PutUrlArg(urlArgs, "SecretId", mTenDnsApiSecret.SecretId); var signature = createSignature("POST", apiAddr, urlArgs); PutUrlArg(urlArgs, "Signature", signature); return(RequestUtil.AsyncRequest <T>(PROTOCOL + CNS_DOMAIN + apiAddr, urlArgs, callBackActoin, Method.POST)); //restTemplate.getMessageConverters().add(new FastJsonHttpMessageConverter()); //return restTemplate.postForObject(PROTOCOL + CNS_DOMAIN + apiAddr, convertMap(urlArgs), JSONObject.class); }
/// <summary> /// 项目双击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ImgItemLeftClick(object sender, MouseButtonEventArgs e) { var subListView = XamlUtil.GetParentListView(e); //根据触发按钮获取点击的行 var selected = (DeviceSyncItem)((ListViewItem)subListView.ContainerFromElement(sender as StackPanel)).Content; var curTimeMill = TimeUtil.CurrentMillis(); var lastClick = selected.LastLeftMouseClickTime; selected.LastLeftMouseClickTime = curTimeMill; //双击才执行操作 if (curTimeMill - lastClick < 200) { if (selected.SourceView == SyncDeviceType.PC) { //如果文件存在于PC, 则打开文件 System.Diagnostics.Process.Start(Path.Combine(selected.FolderView, selected.NameView)); } else { //不允许重复调用 if (selected.IsCopying) { return; } //读取系统的临时文件夹 var winTempFolder = Path.GetTempPath(); if (null == winTempFolder) { OnTaskBarEvent?.Invoke(new MainWindowStatusNotify { message = "无法获取临时文件夹", alertLevel = AlertLevel.ERROR, }); return; } var targetFullPath = Path.Combine(winTempFolder, selected.NameView); //如果已经存在于临时文件夹, 则直接打开 if (System.IO.File.Exists(targetFullPath)) { System.Diagnostics.Process.Start(targetFullPath); return; } //发送进度消息 selected.IsCopying = true; OnTaskBarEvent?.Invoke(new MainWindowStatusNotify { message = "正在复制文件", alertLevel = AlertLevel.RUN, nowProgress = 99 }); //先复制目标文件到临时文件夹, 再打开 using (var device = (MediaDevice)DeviceListCombobox.SelectedItem) { device.Connect(); var filePath = Path.Combine(((DeviceDriverViewModel)DriverListCombobox.SelectedItem).ValueView, selected.FolderView, selected.NameView); MediaFileInfo fileInfo = device.GetFileInfo(filePath); fileInfo.CopyTo(targetFullPath); device.Disconnect(); } selected.IsCopying = false; OnTaskBarEvent?.Invoke(new MainWindowStatusNotify { message = string.Format("已复制到临时文件夹 {0}", targetFullPath) }); System.Diagnostics.Process.Start(targetFullPath); } } else { //显示文件名 OnTaskBarEvent?.Invoke(new MainWindowStatusNotify { message = string.Format("{0}", Path.Combine(selected.FolderView, selected.NameView)) }); } }