`
RednaxelaFX
  • 浏览: 3015238 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论
文章列表
原文在此 Kieth的blog。相当有趣。看来可以在这个blog上找到不少Flash 9/ActionScript 3的技巧。 原文的主旨在于对比是否使用double buffering对Flash中的绘制性能的影响。但阅读下面的评论会发现很有趣的结论:不用double buffering也未必会慢多少;可以使用“lock()”。 package { import flash.display.Sprite; import flash.utils.getTimer; import flash.display.Bitmap; import flash.di ...
一、指出下面的安全复制字符串函数中有什么错误: char *jl_strncpy( char *dest, const char *src, size_t n ) { char *d, *end; if ( 0 == n ) { return ( dest ); } d = dest; end = dest + n; for ( ; d < end; d++, src++ ) { if ( !( *d = *src ) ) { return ( ...
从我开始关注吉里吉里2这个引擎开始,就一直看到关于“KAG的执行效率比TJS2低很多”的说法。但是到底慢多少呢?没见到过具体测评。 有机会的话我看看设计一个测评方法好了。关键是看看eval,iscript这两个标签里的表达式执行效率与真正的TJS2有多少差距。不过在那之前,我们可以看看“KAG比TJS慢”这种说法在吉里吉里引擎发展过程上的根源。 ====================================================================== 回到2001年,当时的吉里吉里只发展到吉里吉里1,具体版本号吉里吉里0.91/KAG 2.3;要执行KAG ...
稍微在吉里吉里2.28的源代码里找了下TJS2 VM的执行机制,主要着眼于dispatch loop的实现,并且找到了下面的代码: kirikiri2\src\core\tjs2\tjsInterCodeExec.cpp/972: tjs_int tTJSInterCodeContext::ExecuteCode(tTJSVariant *ra_org, tjs_int startip, tTJSVariant **args, tjs_int numargs, tTJSVariant *result) { // execute VM codes tjs_in ...
最近土豆同学经常去参加各种面试和笔试,而我也获益不少,得以见识到这些"题目"的诡异.这次听到的,是一个关于C语言中字符串逆序的问题.问题的核心是: 用什么办法,可以最高效的把一个char[]内容的顺序逆转? 最好是不用额外的存储空间. 我陷入了沉思.土豆同学问我的时候,一再强调既不需要用"额外的存储空间,也不需要加减或者异或运算";跟算法没关系,而是与类似语言特性的特性相关.想想也是,要逆序,无论如何也要遍历整个字符数组,不可能达到比O(n)还好的下限.但是不使用"额外"的空间... 并且,假设函数原型是类似: void rever ...
刚才.NET课程期末考试,正好最后一题考的是递归实现Fibonacci数列.顺便就把代码打出来发在这里. (虽然没什么技术含量 ) 主要特性就是使用buffer将先前已经计算过的Fibonacci数列的值保存下来,减少递归时的重复计算开销.C#没直接的lazy evaluation,这种采取buffer的策略应该是不错的选择吧. 另外,实现了IEnumerable<T>和IEnumerable接口,方便遍历Fibonacci对象当前已经缓存了的值. 由于该数列采用int表示,在下标超过46(包括)时就会溢出,所以在检查下标后会抛异常,使用时需要注意. using System; ...
作者: RednaxelaFX 日期: 2007-09-28 最近周围有好多同学都在看各种面试"宝典",其中最多的还是程序方面的咯.然而这些"宝典"的质量参差不齐,有些很明显是错的还写在上面,让人颇为无奈.嗯这两天也被问到一些问题,今天 ...
Alright,终于开始用JavaEye的空间,顺便把之前写的别的东西转过来吧~~ ==============转载开始============== (2007-09-20) 昨晚回到宿舍之后,有同学问了我一个简单循环的优化问题.问题是,为何编译器要进行下述优化: 将优化前的代码: for (int i = 0; i < 100; i++) for (int j = 0; j < 20; j++) a[j] = a[j] + 1; 优化为: for (int j = 0; j < 20; j++) for (int i = 0; i ...
这或许是很少见的用法,但我现在终于接受了一个事实:面试里出现的题目经常是极其恶心的代码,在实际工作中或许永远也见不到的那种.这是上个星期五土豆同学去参加的一个笔试里碰到的题,在这里记下来留作纪念. 问题: 下面的foo()的作用是什么? #include <stdio.h> #include <malloc.h> void foo(char* a, char* b, int len) { switch (len & 0x7) { default: { while (len > 7) { ...
这个学期开始后,我主要使用的程序语言发生了不小的改变,从以Java为主转移到了以C#为主.然后,在国庆期间开始确实的接触D语言,阅读了语言规范与一些范例代码.生活所迫,现在实在不能继续向D语言投入更多的精力,需要暂时将它再封印起来.但这段时间所看到的和感受到的不能不记录下来,不然时间就真的是浪费了. 这里要记录的,是结合我的个人在编程方面走过的轨迹,观察Java, C#与D的一些特点.只代表从我的角度能看到的状况,有很强的主观性. 同时,推荐对编程语言感兴趣的同好到Lambda the Ultimate - The Programming Languages Weblog去看看. ===== ...
Global site tag (gtag.js) - Google Analytics