- 主题:协程或线程库好写吗?
libcurl不好用么?
【 在 hgoldfish 的大作中提到: 】
: 好几年积累下来的。一开始只是想做个简单的协程网络库,预计两三千行可以搞定,结果越搞越大。里面有好些部分对我的工作有用,能够提高生产效率。
: 1. libressl 的轻量包装原本是独立的项目,用于解决 java 加密库太矬的问题。
: 2. kcp 原本是想一个应用搞网络加速用,发现国内网络没效果。这个部分花了我很多时间,纯粹给自己用。反正已经做出来,就放进来了。
: ...................
--
FROM 155.64.23.*
从C++的哲学上看,如果一个C库有了全部功能只是用起来麻烦,包装成模版比较好吧
比如jsoncpp也不太好用,我曾经包过一个C++模版,无论如何怎么读写都不会出错,只会返回default或者产生新key的东西,一下子把代码中无数的if/else都去掉只剩下[],世界清静了
【 在 hgoldfish 的大作中提到: 】
: libcurl 确实很完善,上面说的三个功能都能做到。就是得自己组装 query 什么的,以及要多写很多代码。
: 能用 libcurl 还是用 libcurl 吧,qtng 只是占个 API 简洁的便宜,不支持 HTTP2/HTTP3 什么的还是比较弱。http client 原本确实不该做出来,包装一下 libcurl 就好。
:
--
FROM 155.64.23.*
不要复述国内科技新闻
现在的算法模拟不了昆虫的行为,但确实超越很多高层次人类行为了,比如判断围棋的大势,多种语言字面程度的翻译,理解特定领域语言的情感和意图,高考总分超过重点线等
另外判定结果好坏实际上是算法的重要一部分功能,比如imagenet数据集只有正误之分,但采用交叉墒或者余弦会得出不同结果,也可以完全扔掉结果弱监督学习
【 在 javaboy 的大作中提到: 】
: 我觉得你对ai过于乐观了。
: 目前的神经网络算法模仿昆虫等动物的行为可能是可以的。但是离人类智能还有明显差距。ai做训练的时候,判断某个结果好坏的标准,是程序员定的。算法自己定不了。人类显然有更高层次的逻辑和智能。要让机器要追上人类的智能,很可能还差一到两个工业革命的科技进步。
:
--
FROM 155.64.23.*
实时和速度是矛盾的,高速化必须要并行容错的处理牺牲实时性
用FPGA再怎么折腾,也就是山寨了单机的矿机或者GPU,然而计算中心要几千个GPU协同工作干一件事,宿舍里也要一块机器插好几个显卡
【 在 javaboy 的大作中提到: 】
: 你们俩说的都有一定道理。
: 你追求的是api漂亮,lv追求的是。。哎我也不知道他追求什么。
: 总之,操作系统的实时性和计算加速能力确实代表了目前计算机软硬件的发展方向。cpu、gpu、fpga、asic。。。等等,最后都收敛到一样东西:c语言。
: ...................
--
FROM 155.64.23.*
PLT领域已经彻底是冷饭了,wangyin觉得不爽的也是这个
编译器的门槛越来越低,过去两个星期写个编译器还得天天debug,现在两天直接生成javascript或者java都可以,基本上还算正经的公司如果遇到领域需求都会自造语言的。
实时和效率是矛盾的,举个例子:希望IO实时,就不能玩缓存机制了,否则鬼才知道什么时候数据会写进去。计算机发展大方向是牺牲实时换效率,把特定实时问题分离出来在限定环境内解决
【 在 hgoldfish 的大作中提到: 】
: 你这个说法我不太认同啊。。
: 我觉得只是个人所能控制的软件项目现在已经不多了,所以让你有一种软件技术已经没什么好搞的错觉。但如果能聚集起大批的开发者,我觉得有很多技术可以做,随便举几个例子:
: 1. 通用的编译型编程语言,生态位重合 java/c++/python/go. 候选有 kotlin-native 和 swift,不过似乎还是不够,这俩有各自的问题。julia 语言也有很多坑位要去填。不管我说的对不对,编程语言的发展还没到尽头,还有很长的路可以走。
: ...................
--
FROM 155.64.23.*
你没看明白我干了什么啊
我在家里对筛沙子没兴趣,所以借用了了fuse和ffmpeg的功能拼成一个东西
我对ts的细节也不感兴趣且尽可能回避,选mpegts只不过因为这是多数播放器支持的流格式。原型做到深入细节时就输了,炒股不能炒成股东。。。
【 在 lvsoft 的大作中提到: 】
: 做东西无非是三个目的。1、要么自己用的爽,2、要么寻找建功立业的机会,3、要
: 么就是好玩挖个坑然后不管了。
: 感觉你这些目标都在1,当然我以前也一样...就你说的这些事情大概15年前我基本
: ...................
--
FROM 155.64.23.*
其实看一下微内核和宏内核最近30年的恩怨,用不了20个核心2个就够了。整个PC架构里只有网络和GUI需要高频context切换,别的都无所谓,但悲剧的是Linux诞生的年代还没有多核甚至多线程的x86,就连同年代的微内核NT都被迫把这些东西移入内核态了
其他的设备甚至连多线程也不一定需要,比如耳机buffer延迟个1毫秒没人在乎。键盘更是无论如何做不到一秒输入30次,task切换的代价可以忽略不记了
一般来说超算代表了未来的架构,现在看未来要不是走几个大核带一堆计算专用小核,要不就是几个大核带更多GPU核。
毕竟传统的CPU核上有大量的晶体管加速执行串行指令,这些都是浪费,就算笔记本有128个x86核,也打不过12万8千个CUDA核啊。
【 在 hgoldfish 的大作中提到: 】
: 我的看法,随着晶休管越来越便宜。以后会越来越追求实时,放弃高吞吐。就好像我所说的,等农企给你造出 128 核的四千元笔记本,你压根不会介意拿 20 个核心 100% load 专门处理蓝牙耳机和无线网卡。说不定还会专门有个键盘核,键盘中断都交给这个核心,切到用户空间直接发出射击的网络指令呢。
:
--
FROM 155.64.23.*
我没写播放器,写的是一个fuse把别的格式实时映射成假mpegts播放
做这个主要是因为现在有python-fuse,如果C的话就不会去碰了,自己玩不能入戏太深
【 在 billybear04 的大作中提到: 】
: 重新排了下版:
: 可调用ffmpeg的函数写个逐帧的mp4muxer,程序不长。
: ffplay很可能是界面最简陋的播放器。xiaoju写了个不错的播放器。
: ...................
--
FROM 155.64.23.*
深度学习的价值在于时间差
虽然这东西从上世纪末年就有,但直到pytorch诞生为止,大部分的framework都非常折腾。能选对方向看懂论文再把东西落地就有钱拿。
VGG或者ResNet的点子今天看来是很朴素的,但如果看看前人用了什么简陋的lib做出了这些成果,就不得不佩服。
【 在 lvsoft 的大作中提到: 】
: 恰恰相反,对于ai我一直观望到今年才真正入坑。
: 入坑之后立即就有非常好的产出。
: ai有没有人的智能我不care,我现在只想说真香。
: ...................
--
FROM 155.64.23.*