毫秒

C语言获取SYSTEMTIME

╄→尐↘猪︶ㄣ 提交于 2020-03-01 04:55:10
C语言中如何获取时间?精度如何? 1 使用time_t time( time_t * timer ) 精确到秒 2 使用clock_t clock() 得到的是CPU时间精确到1/CLOCKS_PER_SEC秒 3 计算时间差使用double difftime( time_t timer1,time_t timer0 ) 4 使用DWORD GetTickCount() 精确到毫秒 5 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒 6 要获取高精度时间,可以使用 BOOLQueryPerformanceFrequency(LARGE_INTEGER lpFrequency) 获取系统的计数器的频率 BOOLQueryPerformanceCounter(LARGE_INTEGER lpPerformanceCount) 获取计数器的值 然后用两次计数器的差除以Frequency就得到时间。 7 Multimedia Timer Functions The following functions areused with multimedia timers. timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime // ************************

毫秒必争之如何搞定cache(上)

青春壹個敷衍的年華 提交于 2020-02-28 22:03:20
本文以SmartPro 6000F使用的nios ii内核为例,详述了如何搞定cache,将程序的运行时间从最开始的30s优化到25s,再从25s优化到最终的24s。尤其是那最后1s的优化,遇到了很多问题,而这些问题在嵌入式系统里,任何一款配置了cache的处理器都可能会碰到,所以特撰此文献给那些还在倍受cache折磨的工程师们。全文分上下两部,上部为如何搞定指令cache,下部为如何搞定数据cache。 SmartPro 6000F使用全FPGA架构,并内嵌了4颗nios II软核,我们使用的开发环境是nios for eclipse,编译器是gcc。在帮客户定制一款nandflash编程时序时,为了进一步提高编程速度,准备对时序进行优化。默认情况下,gcc的优化等级为最低的O0,编程时间为30s,开启O1一级优化后,编程时间降到了25s,当开启O2二级优化后,编程时间没有继续下降,反而又上升到了29s。 虽然不同优化等级之间时间差别就不到5s,我们完全可以很省事的开启O1级别优化时序,然后就交付给客户,但是当时我们并没有这么做。因为理论上,优化等级越高,编程时间应该越少才对,但是现在测试的编程时间结果是 O0 > O2 > O1,冥冥中感觉时序还可以再优化些,速度还可再快一点。 目前提速遇到的问题是:使用更高的优化等级,编程时间反而更多了,这可不符合gcc的优化规律阿

MSSQL数据批量插入优化详细

余生长醉 提交于 2020-02-28 19:15:49
序言 现在有一个需求是将10w条数据插入到MSSQL数据库中,表结构如下,你会怎么做,你感觉插入10W条数据插入到MSSQL如下的表中需要多久呢? 或者你的批量数据是如何插入的呢?我今天就此问题做个探讨。 压测mvc的http接口看下数据 首先说下这里只是做个参照,来理解插入数据库的性能状况,与开篇的需求无半毛钱关系。 mvc接口代码如下: public bool Add(CustomerFeedbackEntity m) { using (var conn=Connection) { string sql = @"INSERT INTO [dbo].[CustomerFeedback] ([BusType] ,[CustomerPhone] ,[BackType] ,[Content] ) VALUES (@BusType ,@CustomerPhone ,@BackType ,@Content )"; return conn.Execute(sql, m) > 0; } } 压测的此mvc接口单条数据插入数据库的聚合数据图。 用例这样的:5000个请求分500个线程执行post请求接口。 这个图告诉我们,最慢的请求只用啦4毫秒。那么我们做个算法。 如开篇的需求来看,我们用最小的响应时间来计算。 那么插入10w条数据到数据库需用时=100000*4毫秒,大致是6.67分钟

MSSQL数据批量插入优化详细

ぐ巨炮叔叔 提交于 2020-02-28 17:41:43
现在有一个需求是将10w条数据插入到MSSQL数据库中,表结构如下,你会怎么做,你感觉插入10W条数据插入到MSSQL如下的表中需要多久呢? 或者你的批量数据是如何插入的呢?我今天就此问题做个探讨。 压测mvc的http接口看下数据 首先说下这里只是做个参照,来理解插入数据库的性能状况,与开篇的需求无半毛钱关系。 mvc接口代码如下: public bool Add(CustomerFeedbackEntity m) { using (var conn=Connection) { string sql = @"INSERT INTO [dbo].[CustomerFeedback] ([BusType] ,[CustomerPhone] ,[BackType] ,[Content] ) VALUES (@BusType ,@CustomerPhone ,@BackType ,@Content )"; return conn.Execute(sql, m) > 0; } } 压测的此mvc接口单条数据插入数据库的聚合数据图。 用例这样的:5000个请求分500个线程执行post请求接口。 这个图告诉我们,最慢的请求只用啦4毫秒。那么我们做个算法。 如开篇的需求来看,我们用最小的响应时间来计算。 那么插入10w条数据到数据库需用时=100000*4毫秒,大致是6.67分钟

C#日期格式精确到毫秒

旧城冷巷雨未停 提交于 2020-02-28 07:17:00
有时候我们要对时间进行转换,达到不同的显示效果  默认格式为:2009-6-24 14:33:34  如果要换成成200906,06-2009,2009-6-24或更多的该怎么办呢  我们要用到:DateTime.ToString的方法(String, IFormatProvider)    using System;  using System.Globalization;  String format="D";  DateTime date=DataTime,Now;  Response.Write(date.ToString(format, DateTimeFormatInfo.InvariantInfo));  结果输出  Thursday, June 24, 2009  C# 日期格式转换  参数format格式详细用法  格式字符 关联属性/说明  d ShortDatePattern  D LongDatePattern  f 完整日期和时间(长日期和短时间)  F FullDateTimePattern(长日期和长时间)  g 常规(短日期和短时间)  G 常规(短日期和长时间)  m、M MonthDayPattern  r、R RFC1123Pattern  s 使用当地时间的 SortableDateTimePattern(基于 ISO 8601)  t

linux C获取时间戳(精确到毫秒)

本秂侑毒 提交于 2020-02-20 13:06:26
最近有个需求,需要数据库程序统计一次sql查询的过程耗时多久,于是乎就需要程序获取当前时间戳,由于这个时间非常短,因此需要精确的毫秒,话不多说,直接给程序~ #include <stdlib.h> #include <stdio.h> #include <sys/time.h> #include <unistd.h> int main(){ //执行sql之前 struct timeval begin; gettimeofday(&begin,NULL); long long beginTime = (long long)begin.tv_sec * 1000 + (long long)begin.tv_usec / 1000; printf("beginTime is:%ld\n",beginTime); //执行sql的过程 sleep(5); //sql执行之后 struct timeval end; gettimeofday(&end,NULL); long long endTime = (long long)end.tv_sec * 1000 + (long long)end.tv_usec / 1000; printf("endTime is:%ld\n",endTime); long long interval = endTime - beginTime;

JAVA学习笔记(六)

╄→尐↘猪︶ㄣ 提交于 2020-02-19 22:31:37
一、Object类 java.lang.Object 类 Object 是类层次结构的根(父)类。 每个类(Person,Student…)都使用 Object 作为超(父)类。所有对象(包括数组)都实现这个类的方法。 如果一个类没有特别指定父亲,那么默认则继承自Object类: public class Person /* extends Object*/ { //... } 1.toString方法 方法摘要:public String toString():返回该对象的字符串表示。 toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。 public class ToString { public static void main ( String [ ] args ) { Person p = new Person ( "张三" , 18 ) ; //Person类默认继承了Object类,所以可以使用Object类中的toString方法 String s = p . toString ( ) ; //直接打印对象的名字,其实就是调用对象的toString p = p.toString(); System . out . println ( s ) ; //Object.Person@4554617c | /

JavaScript Date对象

﹥>﹥吖頭↗ 提交于 2020-02-19 07:30:53
一、创建 1.1 new Date() var dt = new Date(); console.log(dt) >>> Thu Aug 16 2018 21:15:29 GMT+0800 (中国标准时间) 1.2. new Date(milliseconds) :把毫秒数转换为Date对象 var dt = new Date(1000 * 60 * 1); // 前进1分钟的毫秒数 console.log(dt); // => {Date}:1970/01/01 08:01:00 dt = new Date(-1000 * 60 * 1); // 倒退1分钟的毫秒数 console.log(dt); // => {Date}:1970/01/01 07:59:00 1、当前系统区域设置格式(toLocaleDateString和toLocaleTimeString) 例子:(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString() 结果: 2008年1月29日 16:13:11 2.普通字符串(toDateString和toTimeString) 例子: (new Date()).toDateString() + " " + (new Date()).toTimeString() 结果

前端性能监控

假装没事ソ 提交于 2020-02-12 10:29:39
最近在做关于前端性能监控的功能,花了点时间研究了一下。先放一张经典图: 因为是原图,有点大,要横着拉了看,上面这些标注的属性就是window.performance.timing下的属性,里面一些含义这边列举一下(参考MDN),默认都是毫秒数: navigationStart : 表征了从同一个浏览器上下文的上一个文档卸载(unload)结束时的UNIX时间戳。如果没有上一个文档,这个值会和PerformanceTiming.fetchStart相同。 unloadEventStart:表征了unload事件抛出时的UNIX时间戳。如果没有上一个文档,or if the previous document, or one of the needed redirects, is not of the same origin, 这个值会返回0. unloadEventEnd:表征了unload事件处理完成时的UNIX时间戳。如果没有上一个文档,or if the previous document, or one of the needed redirects, is not of the same origin, 这个值会返回0. redirectStart:表征了第一个HTTP重定向开始时的UNIX时间戳。如果没有重定向,或者重定向中的一个不同源,这个值会返回0.

JavaSE学习笔记(8)---常用类

北城以北 提交于 2020-02-11 22:38:01
JavaSE学习笔记(8)---常用类 1、Object类 java.lang.Object 类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。 如果一个类没有特别指定父类,那么默认则继承自Object类。例如: public class MyClass /*extends Object*/ { // ... } 根据JDK源代码及Object类的API文档,Object类当中包含的方法有11个。最常用的是其中的2个: public String toString() :返回该对象的字符串表示。 public boolean equals(Object obj) :指示其他某个对象是否与此对象“相等”。 toString方法 public String toString() :返回该对象的字符串表示。 toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。 由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。 覆盖重写 如果不希望使用toString方法的默认行为,则可以对它进行覆盖重写。例如自定义的Person类: public class Person { private String name