Fork me on GitHub

2013年5月14日

摘要: 程序为什么越优化越慢?正在开发一个基于Nios II内核的项目,使用的开发环境是nios for eclipse,编译器是GCC,整体功能实现后,开始优化速度。默认没有开启gcc的优化选项,一段关键函数Key的运行时间为30s,开启O1一级优化后,程序大小从15KB减小到12KB,但运行时间增加到了35s,开启O2后,程序大小没有明显的减少,但运行时间明显提速到了23s,为了赶工期,暂时没去追究O1导致降速的原因,一直开着O2继续测试程序。直到修改完另外一个和关键程序毫无耦合关系的函数A,回过头又去测试了下那段关键函数Key的运行时间,在O2的情况下尽然又降到了29s,改为O1后,又回到了25 阅读全文
posted @ 2013-05-14 18:31 HackerVirus 阅读(349) 评论(0) 推荐(0)
摘要: 在ASP.NET MVC Web API中使用Apworks开发第一个HTTP服务上周我发布了Apworks框架的最新版本,打算写点文章来介绍如何在实际项目中使用Apworks进行开发。今天先简单写一点东西,首先说明一下,Apworks本身是面向领域驱动的一套开发框架,因此,领域模型的分析和建立就是使用Apworks的重点;然而,在大家对Apworks还没有任何了解的基础上,我暂时先抛开领域模型的建立,先向大家展示一下,如何使用Apworks开发第一个可以运行的程序。在这篇文章的介绍中,我们的领域模型只有一个聚合:日记(Note),而且我们会将这个聚合对象同时用作数据传输对象,这当然与DDD的 阅读全文
posted @ 2013-05-14 17:52 HackerVirus 阅读(198) 评论(0) 推荐(0)
摘要: 多线程学习之限制同时运行的线程数量最近闲暇之余,来搞搞,多线程学习,只为下个项目做准备,随着项目优化,开发,性能的考虑,慢慢要用到些以前不用的东西,先开始熟悉熟悉先把东西放上来,欢迎大家赐教,比较好久木玩这东西了,肯定不完善,希望大家提出宝贵意见啊(嘿嘿~~)大概功能描述:为了提高数据处理速度,把任务队列分别交给不同子线程去完成,同时对启动的新线程数量限制,避免线程数量过多照成机器卡壳 1 using System; 2 using System.Threading; 3 namespace ThreadTest 4 { 5 class ThreadMaxNum 6 { 7 ... 阅读全文
posted @ 2013-05-14 17:36 HackerVirus 阅读(584) 评论(0) 推荐(0)
摘要: 【IT企业笔试集】2013年阿里巴巴实习生招聘笔试题目及解答有幸参加了2013年5月5日阿里巴巴的实习生招聘笔试,这次笔试的难度对我而言,前半部分不涉及算法的内容,都比较容易。而后面3道关于算法的习题都解答得很不好,暴露出来自己的一些问题。本人马上也要毕业了,想通过这个博客记录下自己在准备应聘过程中所遇到的各种问题、难题,记录下来以供查阅,同时与诸君分享,欢迎积极交流。题目来源:http://50vip.com/blog.php?i=223一、单项选择题1.下列说法不正确的是:A.SATA硬盘的速度速度大约为500Mbps/sB.读取18XDVD光盘数据的速度为1GbpsC.千兆以太网的数据读 阅读全文
posted @ 2013-05-14 17:17 HackerVirus 阅读(470) 评论(0) 推荐(0)
摘要: .NET:可扩展的单据编号生成器 之 基于缓冲区的顺序号背景我在上篇文章“.NET:可扩展的单据编号生成器 之 顺序号(防止重复)”中介绍了如何使用“种子表”和“悲观锁”解决顺序号的问题。昨天找朋友讨论,说这种速度不够高,今天就稍微改进一下,引入一个内存缓冲区,提高生成的速度。思路引入内存缓冲区后,顺序号的生产流程变为:在内存中维护一个顺序号区间,在这个区间内,就直接查内存,否则更新种子表并重新更新内存区间。还是直接看代码吧。实现代码下载:http://yunpan.cn/Q5jj5yedRAtk5。SeedCodeRuleProvider.cs 1 using System; 2 usi.. 阅读全文
posted @ 2013-05-14 09:47 HackerVirus 阅读(192) 评论(0) 推荐(0)
摘要: 学习 easyui 之四:禁用 linkbutton 问题1.问题的起源linkbutton 是 easyui 中常用的一个控件,我们可以使用它创建按钮。用法很简单,使用 a 元素,标记上 easyui-linkbutton 的类就可以看到按钮了。<a id="btn" class="easyui-linkbutton">这是一个按钮</a>看起来就是这个样子或者使用代码方式。$("#btn").linkbutton();不过,点了也没有作用,如果希望有作用,那么,再为它添加一个事件处理吧。通常你会使用 jQu 阅读全文
posted @ 2013-05-14 09:46 HackerVirus 阅读(1491) 评论(0) 推荐(0)
摘要: 计算机是怎么样工作的?实验环境:Ubuntu12.04下面我们通过 example.c 代码分别生成.cpp .s .o 和ELF可执行文件,并加载运行来分析 程序 example在CPU上执行的整个过程,并由此分析单任务计算机和多任务计算机的工作原理: example.c 2 int g(int x) 3 { 4 return x + 3; 5 } 6 7 int f(int x) 8 { 9 return g(x);10 }11 int main()12 {13 return f(8) + 1;16 }一:为了在系统上运行example.c 程序,每条C语句都必须... 阅读全文
posted @ 2013-05-14 09:45 HackerVirus 阅读(287) 评论(0) 推荐(0)

2013年5月13日

摘要: 迷你MVVM框架 avalonjs v6.1发布,性能大幅提高本次更新,带来了几个新API与在IE6的更好性能。添加ms-css绑定,用法为ms-css-xxx=yyy, 相当于jQuery的$el.css(xxx,yyy)操作,不同的,以后yyy有什么改动,框架都是自动帮你处理。添加非常好用的html过滤器,即{{ xxx | html}} 相当于原来的 ms-html="xxx",不同的是ms-html是直接使用innerHTML,会替换掉原元素的所有子节点,而html过滤器只对原子节点进行替换,不会伤及无辜。重构ready,原来的对document.readyStat 阅读全文
posted @ 2013-05-13 22:59 HackerVirus 阅读(195) 评论(0) 推荐(0)
摘要: 十分钟学会什么是async和await早上无意中看到了async和await关键字,花了十几分钟看了一下msdn,大概明白了是什么一个东西,和大家分享一下。await关键字的中文是期待的意思。在我们编程中想表达“我待会期待这里会有一个值,但我不是现在就要,我先去做其他事情,你完成的时候告诉我”。其实异步模式非常符合现实中场景,现实生活中还真的很少东西是同步的。等车的时候没事干可以拿手机出来玩一下,首发下邮件,而不是直愣愣的干在那里等着车过来。话说回来,在C# 5中借助await可以更好的辅助我们进行异步编程模式的开发,通过改变执行流程,使得异步执行看起来更像同步执行。我直接拿msdn里的代码和 阅读全文
posted @ 2013-05-13 22:58 HackerVirus 阅读(431) 评论(0) 推荐(0)
摘要: Framebuffer的简单应用网上可以直接搜到应用Framebuffer画图的示例程序,但是他们大多是一样,估计是早期的一份程序散播的。然而如果需要写入字符则大多没有示例。最近我就研究一下如何直接操作Framebuffer绘制字符串。简单操作Framebuffer分为几个步骤1.打开framebuffer设备,一般是/dev/fb02.使用ioctl读取fb_var_screeninfo和fb_fix_screeninfon两个结构体信息。fb_var_screeninfo和fb_fix_screeninfon可以看我摘录的嵌入式开发板Framebuffer的原理3.使用mmap函数映射内存 阅读全文
posted @ 2013-05-13 18:07 HackerVirus 阅读(837) 评论(0) 推荐(0)