php学到最后肯定是需要学着去自己写C扩展的。但是我又在网上发现了php调用系统环境DLL的方案扩展。这样DLL可以用C#之类的语言来写。我想知道这两种方案的性能差异大吗?
1
whatisnew 2015 年 4 月 17 日
那么我想问 dll 是什么语言写的?还不是 c。。。那么同样都是用 c 写,为什么不直接 ext
|
4
fliar 2015 年 4 月 17 日
首先你確定c#的dll可以直接用?不需要加載mono或者.net framework?
|
5
kaizixyz 2015 年 4 月 17 日
1楼正解。。
|
7
fliar 2015 年 4 月 17 日
這個事情我在linux下做過,是需要嵌入mono的,windows我沒有弄過幫不了你,不過這個方法我搜到過,我建議你先試下,COM我覺得有點煩就是了
|
8
fliar 2015 年 4 月 17 日
忘了回歸正題,ext的性能會比dll好,dll沒辦法迴避加載運行時的損耗
|
9
txlty 2015 年 4 月 17 日
楼主说的是标准COM组件。在WIN系统下,任何语言都可以调用。PHP当然也可以。
|
12
Ghoul2005 2015 年 4 月 18 日
前提是你确定你要在win系统下跑PHP么?win系统下还考虑什么性能。
|
13
Actrace 2015 年 4 月 18 日
window系统基本不会拿来做服务。。写出来又不能移植到其他系统,有何意义。。
|
15
zhengkai 2015 年 4 月 18 日
win 当然有那么不堪,一个用来打游戏的平台,你用他来工作?没有精通算法你可能不会失业,但是继续用 win 真的是前途堪忧
而且 PHP 的终点并不是去给 PHP 写扩展(虽然我年轻的时候也这么以为),而是 PHP(或者说后端语言)只是你要考虑的一部分,别太拖后腿就可以了。比方说,Laruence 去了新浪微博后,优化了使用效率,节省了几百台机器,固然了不起,但是新浪微博这么大的量这么多年走下来,主要还是 Tim Yang 的架构做的好啊 |
16
zhengkai 2015 年 4 月 18 日
另外回答正题,PHP 扩展的效率是非常不错的。PHP 之所以能活到现在,也正是因为本身不做太多事情,主要是对各个扩展之间起粘合作用,所以很快你就会发现,从本质上说,PHP 不是语言
只有 PHP 的库,大部分都是用别的语言写的,这种奇耻大辱是其他语言没有过的 |
18
wizardforcel 2015 年 4 月 18 日 via Android
@linpf 当然是c语言写的dll效率高啊 这还用想么
其实要搞粘合剂,最方便的是c#吧。原生支持com,用p/invoke来调用c写的dll。 扩展有个好处,你以前写的轮子编译成dll拿过来直接用。谁也不想用php再写一遍吧。 |