首页 » 编程

node.js成也异步,败也异步,评node.js的异步特性

node.js最大的卖点就是异步,声称以此获得更高的性能,而我认为,node之所以快并不是因为异步而快,而是因为V8而快。异步仅在资源占有明显优势,而引入异步却大大增加了编程的复杂度,且异步在http服务上并没有或者无法用在刀刃上。
以目前node来看,

node.js异步数据库连接,事务查询思考

首先思考一下场景
1、同时有50个并发请求,
2、每个请求将连接PgSQL并执行一个事务: 调用2个不同的Model Bill与Profile,执行 Bill.insert 与 Profile.update
3、PgSQL最大连接数为20
因为使用到事

ToffeeScript – 支持异步语法的CoffeeScript

ToffeeScript是CoffeeScript衍生,在完全兼容CoffeeScript的语法下提供了一些新的特性。
一、 特性一览
异步语法支持
Ruby Symbol语法的字串
正则运算符 =~
正则Magic标识符 \& \~ \1..9
1.

Dart试用手记 – 2、语法与评论

Dart的语法比较传统,可以看到Java,C++的影子
1. 注释
// 单行注释
/* ... */ 注释块
2. 变量
Dart有2种变量var与final
final必需要初使化且只能赋值一次
3. 函数
Dart的函数格式:[返回类型] [函数

Dart试用手记 – 1、编译与安装

今天Google发布了Dart,定位用以替代JavaScript,从架势来看未来应该也会有所投入,加之Google在V8的丰富经验,Dart定能有出色的发挥,所以打算第一时间了解下。但Dart究竟如何,是否有足够的竞争力,还要待使用后才能有定论。
一、安装

CoffeeScript 功能加强

CoffeScript makes javascript fun, and the CoffeeScript's source code write clearly and easy to extend, I add 2 string related fe

Linux libaio

Linux aio是Linux下的异步读写模型。
对于文件的读写,即使以O_NONBLOCK方式来打开一个文件,也会处于"阻塞"状态。因为文件时时刻刻处于可读状态。而从磁盘到内存所等待的时间是惊人的。为了充份发挥把数据从磁盘复制到内存的时间,引入了aio模

nodejs V8 Persistent句柄与GC

在nodejs中,常常会遇到ObjectWrap的C++ Module,即用一个Persistent句柄引用一个携带C/C++指针的对象,并设定该Persistent句柄的WeakCallback,当Persistent被孤立时,删除指针,并Dispose

javascript V8惊人的性能

今天测试了一下V8,虽然一直听说和感觉到V8快,但测试后发现性能超过C++ STL,甚至超过了C函数。着实惊人。
一、测试代码:
1. C++:test.cc
#include <sys/time.h>
#include <cstd

Linux下使用inotify监控文件动作

在日常应用中,常常会遇到以下场景,监控文件夹A,若文件夹中的B文件发生变化,则执行C命令。Linux下可以通过inotify完成该功能。
自从Linux kernel 2.6.13起,inotify以作为内核的一部份,同时需要glibc 2.4以上版本。