草庐IT

日期操作

全部标签

Go 支持 Scatter-Gather IO 操作

我想在Go中开发基于Unix域套接字的高性能客户端-服务器通信协议(protocol)。具体来说,我正在考虑采用Vector-IO操作(writev/readv系统调用)以避免结构化数据序列化的开销。但是,我认为Go并不完全支持使用scatter-gatherio操作。我发现了一些为writev操作提供Go支持但不支持readv的尝试。有没有一种方法可以在Go中实现它和/或在性能方面有什么替代方案? 最佳答案 使用net.Buffers使用writev或类似的优化批量写入。对于读取,将数据放入单个缓冲区和slice根据需要缓冲。

google-app-engine - 超过 Golang AppEngine 内存缓存截止日期

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。我有一个golangAppEngine应用程序,它使用任务队列并行运行蒙特卡罗式模拟,并大量使用内存缓存来存储中间结果。对于少量的进程/任务(1000)时我从memcache读取或更新中间数据时遇到很多失败,并出现错误“已取消:截止日期”超过'。这似乎发生在初始化任务后7-10秒。特定违规者似乎是memcache.JSON.Get和memcache.Inc

time - Golang 扣除日期的特定时间

我在golang中有一个日期,如2014-10-2200:00,我想在330分钟内扣除,以下是我使用的代码,但是,它不起作用,我试图减少时间negativeduration但是,时间并没有减少。本来“开始日期”是2014-12-2900::00,扣除之后还是2014-12-2900:00,也就是说不能扣除。layoutStart:="2006-01-0215:04"layoutEnd:="2006-01-0215:04"varsttime.Timevarettime.Timevarerrerrorvarerr2errorvarneg_india_offset=time.Duration

go - Go 编译文件如何在不同的操作系统或 CPU 架构上工作?

由于我从昨天开始学习Golang:)我对编译后的文件有疑问。假设我编译我的项目。它在/bin文件夹中生成一个.exec文件。现在我的问题是,既然该文件是在基于IntelCPU的Mac上编译的,那么如果我想将它公开发布,它是否应该在其他操作系统和其他CPU架构(如AMD、ARM等)上编译?如果我在服务器上运行GOlang作为我的后端,我想这应该不是问题。但是,如果我发布我的.exec文件会发生什么,比方说在AWS上,有很多实例会根据负载自动增加/减少?有问题吗?编辑:对于那些正在寻找Go交叉编译工具的人来说,这是一个很好的解决方案https://github.com/mitchellh/

parsing - 我如何在 Golang 中解析这个日期?

我在解析这个日期时遇到了一些问题(“美国东部时间4月19日,下午3:15”),有人可以帮我解决这方面的问题吗?这是我写的代码。d,err:=time.Parse("JAN02,3:04pET",date)提前致谢。 最佳答案 3个字母的月份常量是Jandate:="APR19,3:15pET"d,err:=time.Parse("Jan02,3:04pET",date)http://play.golang.org/p/LkeQOtc1Hd 关于parsing-我如何在Golang中解析这

parsing - 我如何解析 golang 中的非传统日期?

这个问题在这里已经有了答案:DateparsinginGo(1个回答)关闭6年前。我有这个日期,格式如下:25.04.2016我需要将其解析为Golang时间对象,以便将其存储在我的数据库中。这样做的最佳方法是什么?我找不到可以这样做的标准解析格式。

go - 对项目集合执行操作

在我的实际代码中,我正在使用encoding/xml解析一个XML文档,我基本上有一堆如下形式的嵌套结构——所有这些都可能出现多次,除了顶级statements元素:statementsstatementopcodeargsprepost我是Go的新手,我显然误解了interface{}(空接口(interface))的工作原理:.\stmtgen.go:58:cannotuseprint_name(typefunc(Statement))astypefunc(interface{})inargumenttoperformAction.\stmtgen.go:58:cannotuses

memory - 为什么使用单独的线程原子操作更快?

我有两段代码,桌面上有32个内核。代码A使用32个线程并执行以下操作,1)将值写入内存中的一些随机位置2)原子地向全局变量添加一个值。代码B使用16个线程将值写入随机位置,并使用另外16个线程以原子方式将值添加到全局变量。我想知道为什么代码B在每秒对全局变量执行多少原子操作方面更快。这里是代码Avarauint64=0constN=10*1024*1024vardata[N]uint64funcmain(){fori:=0;i这里是代码Bvarauint64=0constN=10*1024*1024vardata[N]uint64funcmain(){fori:=0;i

regex - 是否可以在 Golang 中提取字符串的一部分并在一次操作中替换这些部分?

假设我想从一个字符串中提取所有数字(很可能使用正则表达式匹配)并且我还想用通用占位符(如“#”)替换这些数字匹配。这很容易分两部分完成,先使用FindAll,然后使用ReplaceAll。但是,我对执行此类操作的性能成本深表怀疑。所以取一个字符串"sdasd3.2%sadas6...+8.9"替换为"sdasd#%sadas#...+#"得到一片[3.2,6.0,8.9]以尽可能高效的方式。编辑:我实现了regexp.FindAllString+regexp.ReplaceAllString并且对我的应用程序的性能影响非常小。我希望有空时尝试ElliotChance的方法并比较两者。

parsing - 从 Go 中的多行输出中提取日期

请查看下面的netuse命令的输出。现在我想从这段文本中提取到期日期。不幸的是,netuse命令无法输出为json、xml或任何解析格式。因此,我坚持使用此文本:(。我只对获取10-6-20176:57:20并将其转换为Golang日期格式感兴趣。问题:我不知道如何开始?首先找到包含“密码过期”的行?然后呢?UsernamejdoeFullNameJohnDoeCommentUser'scommentCountrycode(null)AccountactiveYesAccountexpiresNeverPasswordlastset1-5-20176:57:20Passwordexpi