time函数

C++重载运算符和标准模板库(STL)

匿名 (未验证) 提交于 2019-12-03 00:21:02
一、重载运算符 在C++中,不只是函数可以重载,某些运算符也是可以重载的,即可以自定义运算符的功能,可以重载的运算符如下: 运算符 名称 类型 , 逗号 二进制 ! 逻辑“非” һԪ != 不相等 二进制 % ȡģ 二进制 %= 取模赋值 二进制 & 按位“与” 二进制 & address-of һԪ && 逻辑“与” 二进制 &= 按位“与”赋值 二进制 ( ) 函数调用 ― ( ) 强制转换运算符 һԪ * 乘法 二进制 * 指针取消引用 һԪ *= 乘法赋值 二进制 + 添加 二进制 + 一元加 һԪ ++ 递增 1 һԪ += 加法赋值 二进制 - 减法 二进制 - 一元求反 һԪ -- 递减 1 һԪ -= 减法赋值 二进制 -> 成员选择 二进制 ->* 指向成员的指针选定内容 二进制 / 除法 二进制 /= 除法赋值 二进制 < 小于 二进制 << 左移 二进制 <<= 左移赋值 二进制 <= 小于或等于 二进制 = 赋值 二进制 == 相等 二进制 > 大于 二进制 >= 大于或等于 二进制 >> 右移 二进制 >>= 右移赋值 二进制 [ ] 数组下标 ― ^ 异或 二进制 ^= 异或赋值 二进制 | 按位“与或” 二进制 |= 按位“与或”赋值 二进制 || 逻辑“或” 二进制 ~ 二进制反码 һԪ delete Delete ― new New ―

工作日时间差/考勤计算(SQL 自定义函数)

匿名 (未验证) 提交于 2019-12-03 00:15:02
工作日时间差/考勤计算(SQL 自定义函数) CREATE FUNCTION [dbo].[WorkTime2](@str_time datetime, @end_time datetime) RETURNS decimal(18,2) AS BEGIN declare @am_str decimal(18,2), @am_end decimal(18,2) ,@pm_str decimal(18,2) ,@pm_end decimal(18,2) ,@myresult decimal(18,2) ,@first decimal(18,2) ,@end decimal(18,2) --定义工作日上班时间段 set @am_str=8 set @am_end=11.5 set @pm_str=13 set @pm_end=17 if(CONVERT(VARCHAR(10),@str_time, 120) = CONVERT(VARCHAR(10),@end_time, 120)) --是否是同一天 begin if CONVERT( decimal(18,2),DATEPART(HOUR,@end_time))>=@pm_end and CONVERT( decimal(18,2),DATEPART(HOUR,@str_time))<=@am_str --开始时间为上班开始时间

天猫Android性能优化1―AndroidStudio内置的Traceview视图

匿名 (未验证) 提交于 2019-12-03 00:13:02
Traceview是分析Android性能不可或缺的利器。目前一般是用DDMS或者ADT里面的traceview工具来查看的。哪怕是 AndroidStudio官网 也是如此推荐。 一个偶然的机会,发现AndroidStudio本身可以查看Traceview文件,而且更直观。 它分成三部分:顶部工具栏,中间的“Flamechart”显示执行过程及调用堆栈,底部的表格显示该线程中各个函数的执行时间与调用次数。 Thread: 选择你要查看哪个线程的执行情况,默认是主线程的。 x-axis: Wall Clock Time就是Real Time,该函数开始执行和结束执行之间的时间差。Thread Time就是CPU Time,真实消耗CPU的时间。 Color by inclusive time: 在中间的Flamechart中,默认是根据exclusive time着色的。如果根据inclusive time着色,函数执行时间越长,颜色越深,所以顶层的函数颜色是最深的。 Zoom fit:缩放用的,用鼠标滚轮也能实现。 Find:查找某个函数。 横向表示时间线上函数的执行情况,长度越长,表示函数的执行时间越长。纵向表示调用堆栈。 以上图为例。第一行只有一个main()函数,它是函数调用堆栈的root,我们的trace一直在main()函数的执行时间内

状态类

匿名 (未验证) 提交于 2019-12-03 00:08:02
先定义一个State 基类, 按照上面说的状态需要的三个操作分别定义函数(startup, update, cleanup)。在 init 函数中定义了上面说的三个变量(next,persist,done),还有start_time 和 current_time 用于记录时间。 class State(): def __init__(self): self.start_time = 0.0 self.current_time = 0.0 self.done = False self.next = None self.persist = {} @abstractmethod def startup(self, current_time, persist): '''abstract method''' def cleanup(self): self.done = False return self.persist @abstractmethod def update(sefl, surface, keys, current_time): '''abstract method''' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 看一个状态类LoadScreen的具体实现,这个状态的显示效果如图3。 startup

标准库 - datetime

匿名 (未验证) 提交于 2019-12-02 23:55:01
标签(空格分隔): Python-标准库 [x] 对日期、时间、时间戳的处理 [x] datetime 类 [x] 类方法 today() 返回本地时区当前时间的 datetime 对象 now(tz=None) 返回当前时间的 datetime 对象,时间到微秒 如果 tz 等于 None 返回和 today() 一样 utcnow() 没有时区的当前时间 fromtimestamp(timestamp, tz=None) 从一个时间戳返回一个 datetime 对象 [x] datetime 对象 timestamp() 返回一个到微妙的时间戳 时间戳: 格林威治时间 1970年到1月1日0点 到现在的秒数 构造方法, datetime.datetime(2016, 12, 6, 16, 29, 43, 79043) year、month、day、hour、minute、secound、microsecond, 取 datetime 对象的年月日时分秒及微妙 weekday() 返回星期的天, 周一 0, 周日 6 isoweekday() 返回星期的天,周一 1, 周日 7 date() 返回日期 date 对象 time() 返回时间 time 对象 replace() 修改并返回新的时间 isocalendar() 返回 一个三元组 (年,周数,周的天) ---

实现多函数计时功能

匿名 (未验证) 提交于 2019-12-02 23:49:02
现在有一个新的需求,希望可以记录下函数的执行时间,于是在代码中添加日志代码: import time def foo(): start_time = time.time() print ( 'hello foo' ) time.sleep( 3 ) end_time = time.time() print ( 'spend %s' % (end_time - start_time)) foo() bar()、bar2()也有类似的需求计时,怎么做?再在bar函数里调用时间函数?这样就造成大量雷同的代码,为了减少重复写代码,我们可以这样做,重新定义一个函数:专门设定时间show_time: import time def show_time(func): start_time = time.time() func() end_time = time.time() print ( 'spend %s' % (end_time - start_time)) def foo(): print ( 'hello foo' ) time.sleep( 3 ) show_time(foo) 转载请标明出处: 实现多函数计时功能 文章来源: 实现多函数计时功能

R语言data.table包fread读取数据

匿名 (未验证) 提交于 2019-12-02 23:48:02
R语言处理大规模数据速度不算快,通过安装其他包比如data.table可以提升读取处理速度。 案例,分别用read.csv和data.table包的fread函数读取一个1.67万行、230列的表格数据。 # 用read.csv读取数据timestart<-Sys.time() data <- read.csv("XXXXs.csv",header = T,stringsAsFactors = F) timeend<-Sys.time() runningtime<-timeend-timestart print(runningtime) # 返回 runningtime 结果: Time difference of 4.451127 secs timestart<-Sys.time() data1<-fread("XXXXs.csv",header = T,stringsAsFactors = F) timeend<-Sys.time() runningtime<-timeend-timestart print(runningtime)# 返回 runningtime 结果: Time difference of 0.9460249 secs 参考资料: https://zhuanlan.zhihu.com/p/22317779?refer=rdatamining

装饰器之基本

匿名 (未验证) 提交于 2019-12-02 23:47:01
为什么要有装饰器? 在学习装饰器之前,一定要了解一个开放封闭原则。软件开发都应该遵循开放封闭原则。 开放封闭原则 对扩展是开放的 对修改是封闭的 为什么说要对扩展是开放的呢? 因为软件开发过程不可能一次性把所有的功能都考虑完全,肯定会有不同的新功能需要不停添加。也就是说需要我们不断地去扩展已经存在代码的功能,这是非常正常的情况。 那为什么说对修改是封闭的呢? 比如说已经上线运行的源代码,比如某个函数内部的代码是不建议直接修改的。因为函数的使用分为两个阶段:函数的定义阶段和函数的调用阶段。因为你不确定这个函数究竟在什么地方被调用了,你如果粗暴的修改了函数内部的源代码,对整个程序造成的影响是不可控的。 总结一下就是:不修改源代码,不修改调用方式,同时还要加上新功能。 什么是装饰器? 装饰器的本质 装饰器本质上可以是任意可调用对象,被装饰的对象也可以是任意可调用对象。 装饰器的功能 在不修改被装饰对象源代码以及调用方式的前提下为它添加新功能。 首先我们先来个例子: import time import random def index(): time.sleep(random.randrange(1, 5)) # 随机sleep几秒 print("欢迎访问首页。") index() 现在需求来了,我需要统计下 index 函数执行耗费的时间。 你可能会很快写出下面的代码: import

js 实现sleep函数

匿名 (未验证) 提交于 2019-12-02 23:32:01
sleep函数作用是让线程休眠,等到指定时间在重新唤起。 方法一:这种实现方式是利用一个伪死循环阻塞主线程。因为JS是单线程的。所以通过这种方式可以实现真正意义上的sleep()。 function sleep(delay) { var start = (new Date()).getTime(); while ((new Date()).getTime() - start < delay) { continue; } } function test() { console.log('111'); sleep(2000); console.log('222'); } test() 方法二:定时器 function sleep1(ms, callback) { setTimeout(callback, ms) } //sleep 1s sleep1(1000, () => { console.log(1000) }) 方法三:es6异步处理 const sleep = time => { return new Promise(resolve => setTimeout(resolve,time) ) } sleep(1000).then(()=>{ console.log(1) }) 方法四:yield后面是一个生成器 generator function

实现在线评测系统(一)

匿名 (未验证) 提交于 2019-12-02 23:05:13
Ŀ¼ Online judge system Online judge system 研究一下在线评测系统编写的一些细节,加深对操作系统的理解,实现一个基本能用的评测机,通过shell脚本控制评测机监控用户程序。web接口和日志功能没写。 另外PE和CE功能还没写 编写语言c/c++, bash 编写环境deppin linux 编写工具vim gcc 7.3.0 T^T 学长牛逼!!! Orz 在评测系统中,我们提交一个由标准输入输出的程序,我们判断正确性的方法一部分是 修改输入输出流 ,将输入导入程序,输出导出,和标准答案进行比对。 例如添加一下代码,在程序的开始 freopen("file_name_input", "r", stdin); freopen("file_name_output", "w", stdout); 用户从web页面提交代码,服务器拿到代码,形成一个服务器本地的文件。那么我们如果通过评测程序去调用,监控这个用户代码即可。但是这就意味着我们需要在文件头部加上上面两句话。虽然修改用户代码是可行的,但是却比较麻烦。这个问题先放一边,我们先解决另一个问题 ps:如果修改用户代码,一种解决方案是把main函数修改,就改成适宜CppUnit库调用的形式。CppUnit是一种c++单元测试的库,虽然没用过,但是相似的Junit有提供对应的内存,时间检测。