2017-02-17 Lu Huang
本文将以 kaldi 中 timit 的例程来看整个 run.sh 脚本的执行过程。本文来自于Running the example scripts (40 minutes) 数据准备 请先进入 kaldi\egs\timit\s5\ 这个目录。 运行环境 由于 kaldi 可以在本地运行,也可以在 Oracle GridEngine 上运行,因此,请修改 cmd.sh。 如果你是在本地运行,请输入 export train_cmd="run.pl --max-jobs-run 10" export decode_cmd="run.pl --max-jobs-run 10" export cuda_cmd="run.p 继续阅读 »
2015-12-04 白若水
背景 最近打算对一个 Web API 项目做代码混淆,但由于宿主环境是 IIS,导致完全混淆后, IIS 不能很好的解析。于是决定自己写一个宿主环境。 用一个控制台项目,用一段简单的代码 ``` static void Main(string[] args) { var config = new HttpSelfHostConfiguration("http://127.0.0.1:3333"); config.Routes.MapHttpRoute("default", "api/{controller}/{id}", new { id = RoutePara 继续阅读 »
2016-07-28 Li Shuai
greenlet是Python众多协程实现技术中的一种,eventlet是基于greenlet实现的。而eventlet和libev又是gevent的核心。greenlet的上下文切换清晰易懂,可以结合IO事件循环构建出一些高效的事件处理逻辑。不同于yield类型的上下文切换,greenlet的上下文切换从表现形式上看更纯粹,可以直接switch到另一个greenlet,不用管目标greenlet是否已经在运行,不同greenlet之间处于完全对等的状态,可以相互switch。基于yield实现的协程往往只能切换回自己的直接或间接调用者,要想在嵌套的调用中切换出去是比较麻烦的。本质上是因为yield只能保留栈顶的帧,Python3对 继续阅读 »
2016-10-28 ruki
简介 Benchbox是一个基准测试包,基于tbox和xmake,里面包含许多针对第三方库功能的性能基准测试和对比,可以很方便的扩展测试用例和模块。 目前内置:各大开源协程库性能基准测试,后续还会陆续增加各种开源库模块的分析测试 测试报告仅供参考,测试代码或者结果上如有问题,可以提交issues 编译 请先安装: xmake 然后运行: bash $ xmake 协程切换测试报告(2个协程) Run bash $ xmake coroutine -n switch Macosx (x86_64) tbox: 10000000 switches in 205 ms, 4 继续阅读 »
2016-07-18 ruki
最近在xmake中,用lua的协程实现了多任务编译,效果还是不错的,不过后来发现一个问题: 如果所有编译进程都在处理编译,没有退出的时候,xmake的lua主进程会不断地在这些任务间,不停的切换轮询进程的状态,但是有没有机会执行其他任务,导致cpu过高,抢占了编译进程的cpu时间。。 那如果在等不到完成的进程时候,加入sleep等待呢,又会导致编译速度变慢,没法合理利用cpu。。 因此,为了解决这个问题,我打算扩展下lua的接口,实现了一个跨平台的多进程等待接口: process.waitlist 实现多个未完成进程的同时等待,让出xmake主进程的cpu时间,给其他编译进程充分利用 xmake中的lua代码如下: ``` 继续阅读 »
2020-10-05 Robin Wen
文/Robin 笔者的代步车是小鹏 G3,NEDC 综合工况续航 520 公里,至今总里程 9089 公里。这台车至今跑过 3 次单程超过 500 公里的长途。 今年的国庆节恰逢中秋,假期史上最长,于是决定自驾往返湛江。得益于远程办公的便利性,笔者 29 号出发,4 号返程,基本上完美错开来程和去程的高速高峰。 这次的自驾体验,明显好了很多。第一,提前出行,高速畅通无比,把更多塞在路上的时间留出来陪家人;第二,路径规划比上一次更合理,基本上没走冤枉路;第三,充电桩明显更多了,连部分服务区都配置了快充。 发现几个有趣的现象。粤西的充电桩,基本上被一个叫做「共创智能充」的公司垄断了,即使是很偏僻的地方,也能找到它的踪影。「共 继续阅读 »
2014-07-30 Lingxian Kong
eventlet中的backdoor OpenStack中编程模型中大量使用了GreenThread,使用eventlet库实现,关于eventlet可以参考官方文档。这里单独说一说backdoor的使用。 OpenStack每一个服务在创建时,都会根据backdoor_port配置项决定是否创建backdoor server,允许telnet到服务所在的节点进行调试,主要用于获取某个长时间运行的进程的状态。其原理是这样的:在程序的代码中,专门运行一个协程,这个协程一般不会被调度到,所以不会影响程序的正常运行。这个协程中跑了一个backdoor_server,比如下面的这行代码: eventlet.spawn(backdoor 继续阅读 »
2015-07-14 王财勇
首先说明我的软件配置: Computer: Windows7 SP1 64位 VS2010:旗舰版 SP1 Matlab:R2012a ,64位 下面我们将具体讲述调试Mex文件的全过程。(有图有真相哟! ) more 注意1:我们下面的做法是在64位基础上进行的,对于32位同适用,只要你注意减少某些操作即可。我们会在合适的地方进行相应的说明的,所以请放心操作。 注意2:由于这里建立的Mex文件里包含了opencv 2.4.9,所以如下的配置也会涉及到opencv的部分设置,如include,lib路径和附加依赖项,但是如果你也想使用opencv的话,你还需设置环境变量,在Path中添加bin路径。 MEX的说明 写MEX程 继续阅读 »
2016-11-09 ruki
最近在做ios app的企业测试包,需要频繁打包分发给测试,因此将编译完的.app打包成ipa单独分发出去,这里调研下几种打包方案: 直接通过iTunes来打包 调用zip写个打包脚本 使用第三方脚本和工具 为了方便日常ios app打包程ipa,觉得可以把这个脚本放到xmake中去,作为一个小插件提供,也是个不错的方式。 因此顺手在xmake里面加了这么一个ipa to app的小插件,进行快速打包,使用方式如下: bash $ xmake app2ipa --icon=Icon.png /xxx/xxx.app icon参数指定的是app的主图标,用作iTunesArtwork,目前还不能自动设置,需要手动指定哦。。 继续阅读 »
2016-12-10 Eric Wang
作者简介:Steve Yegge是一名程序员,也是博主,写了很多关于编程语言,生产力,和软件文化的文章。他拥有华盛顿大学计算机科学本科学位,20年的业界经验,开发领域涉及嵌入式操作系统、可扩展的电子商务系统、移动设备应用、提升软件生产力的工具等。他曾供职于亚马逊和Google等公司。 徐旭铭,编了十几年程,翻译过几本书,现在在亚马逊当码农。工作和兴趣都是写代码,喜欢看上去很麻烦的问题。住在西雅图,闲暇时喜欢看美剧。 这本书真是太有意思了,里面充斥了作者对各种语言以及开发现象和编程风格的吐槽,但是读来并不让人反感,也不觉得偏激,真是太有才了,真羡慕可以把吐槽文也写得这么棒的人。在书中,作者着重推荐了《重构》注意是Refactori 继续阅读 »