• Suppose you are writing a high-performance system program (network stack / hypervisor / database / unikernel / etc) and you want to write that in Lua with RaptorJIT or LuaJIT instead of C. You think this will make the development quicker and more pleasant but you are concerned about the performance.

  • 我的github博客 https://github.com/zhuanyongxigua/blog

    ES6之前,JS的函数只能一口气执行到底,Generator的出现使得JS的函数可以做到停顿,根据需要一步步执行。如果没有Generator,可以用闭包来模拟,可这种实现并不方便。

    关于generator的运行机制,可以将它简单的总结为三点,详细信息见mdn:

    1. 是调用生成器函数的时,函数内部代码不会马上执行,它返回的是一个迭代器对象。
    2. 用返回的迭代器对象调用next方法执行到第一个yield为止,返回yield后面的表达式的值。
    3. 通过next传入的参数,是作为上一条执行的yield表达式的返回
  • 六种关系

    泛化关系(generalization)

    是一种 is-a的关系;
    泛化关系用一条带空心箭头的直接表示

    实现关系(realize)

    实现关系用一条带空心箭头的虚线表示

    聚合关系(aggregation)

    是一种弱的整体和部分的关系
    聚合关系用一条带空心菱形箭头的直线表示

    组合关系(composition)

    是一种强的整体和部分的关系
    组合关系用一条带实心菱形箭头直线表示,

    关联关系(association)

    关联关系是用一条直线表示的;它描述不同类的对象之间的结构关系;它是一种静态关系, 通常与运行状态无关,一般由常识等因素决定的;它一般用来定义对象之间静态的、天然的结构; 所以,关

  • yangweijieyangweijie/note· 1 天前

    wget

    ./configure --prefix=/lidata/server/php7
    --with-curl
    --with-freetype-dir
    --with-gd
    --with-gettext
    --with-iconv-dir
    --with-kerberos
    --with-libdir=lib64
    --with-libxml-dir
    --with-mysqli --enable-embedded-mysqli --with-pdo-mysql --with-pcre-dir --enable-mysqlnd
    --with-openssl
    --with-p










  • 性能优化的重要性

    前面讲到的置换表其实就是最常见的一种性能优化方式。他不不会对棋力有负面影响(不会剪掉不该剪掉的分支),但是能提升运算速度从而达到提升棋力的作用。如果你把前面几章讲的技术都运用了,那么大约能实现 8 层深度的搜索,对战业余玩家会有很高的胜率。不过如果你想挑战一些对五子棋比较有研究的高级玩家,那么仅仅8层搜索是不够的。

    我们知道,棋力 = 搜索深度,我们要提升电脑的棋力,最直接方式就是加大搜索深度。但是搜索深度每加深一层,时间会提升大约 20 倍,如果8层深度需要20秒,那么10层将会需要 20*20*20 = 8000秒 超过了一个小时,这显然是不能接受的。因此我们需要尽可能优