期刊文献+
共找到5篇文章
< 1 >
每页显示 20 50 100
基于函数式编程语言的事件驱动模型的设计与实现 被引量:2
1
作者 刘德财 高建华 《计算机应用与软件》 CSCD 2016年第9期7-9,37,共4页
函数式编程语言在移动游戏研发中使用十分普遍,例如客户端的Lua、Java Script,服务端的Ruby、Erlang、Java Script。但目前对移动游戏开发框架的设计大多是基于传统面向对象的方法,并没有很好地利用函数式编程语言的特性。针对项目代码... 函数式编程语言在移动游戏研发中使用十分普遍,例如客户端的Lua、Java Script,服务端的Ruby、Erlang、Java Script。但目前对移动游戏开发框架的设计大多是基于传统面向对象的方法,并没有很好地利用函数式编程语言的特性。针对项目代码模块的通信问题,通过借鉴面向对象(OOP)中的观察者模式以及现有的函数式编程语言的开源框架Node.js,设计并实现一种适用于函数式编程语言的事件驱动模型FPEDM(Functional Programming Event Driven Model)。该模型具有简单易用,扩展性强,与移动游戏软件耦合度低、复用性好的特点,应用到项目开发中可大大提高开发效率,简化项目框架的复杂度。 展开更多
关键词 函数式编程 事件驱动模型
在线阅读 下载PDF
榫卯:一种可组合的定制化内存分配框架
2
作者 欧阳湘臻 朱怡安 史先琛 《软件学报》 EI CSCD 北大核心 2024年第4期2076-2098,共23页
动态内存分配器是现代应用程序重要组成部分,它负责管理空闲内存并处理用户内存请求.现代通用动态内存分配器能够提供较为平衡的性能与内存利用率,但考虑到不同应用场景的内存使用情况和优化目标不同,使用通用内存分配器并非最优解.针... 动态内存分配器是现代应用程序重要组成部分,它负责管理空闲内存并处理用户内存请求.现代通用动态内存分配器能够提供较为平衡的性能与内存利用率,但考虑到不同应用场景的内存使用情况和优化目标不同,使用通用内存分配器并非最优解.针对应用场景定制的专用内存分配器通常能够更好地满足系统需要,然而编写专用内存分配器较为费时,也容易出错.开发者通常使用内存分配框架搭建专用动态内存分配器.然而,现有的内存分配框架存在抽象能力较差,组合性与定制性不足的问题.为此,从函数式编程视角审视动态内存分配过程,基于函数可组合性提出了一种可组合的定制化动态内存分配器框架榫卯.榫卯框架将系统内存分配抽象为多个互不耦合的内存分配层级函数的组合,这些层级函数能够扩展出策略槽,以提供更高的定制性和组合性.榫卯框架基于标准C实现,依赖C预处理器的元编程特性实现层级函数组合的零性能开销.开发者能够通过组合与定制分配器的层级函数,快速构建出适合应用场景的内存分配器.为了证明榫卯框架的有效性,使用榫卯框架构建了3种不同的内存分配器实例:tlsfcc,hslab与wfslab,其中tlsfcc针对多核嵌入式应用场景,通过替换同步策略优化并发吞吐率;hslab是核心感知的slab式分配器,通过定制线程缓存优化在异构硬件的性能;wfslab是低延迟的无等待/无锁分配器.为了评估这3种内存分配器实例,通过运行基准测试对比现有内存分配器.实验分别在8核x86/64平台和8核异构aarch64嵌入式平台进行.实验表明tlsfcc与原始tlsf分配器相比,在上述两个平台上分别取得了平均1.76和1.59的加速比;对比hslab与类似架构的tcmalloc,它在两个平台的平均执行时间仅为tcmalloc的69.6%和85.0%;wfslab则取得了参与实验对比的内存分配器中最小的最差情况内存请求延迟,其中包括目前最先进的无锁内存分配器mimalloc和snmalloc. 展开更多
关键词 内存分配 阻塞同步 异构系统 操作系统 函数式编程
在线阅读 下载PDF
防火墙规则间包含关系的解析方法 被引量:5
3
作者 殷奕 汪芸 《计算机应用》 CSCD 北大核心 2015年第11期3083-3086,3101,共5页
针对防火墙规则集中规则间的相互关系难以把握,从而导致防火墙无法正确地过滤数据包的问题,提出了一种基于集合理论的规则间包含关系的解析方法。该方法在不考虑规则动作的情况下,基于集合理论的包含关系来解析和分类规则之间的关系,简... 针对防火墙规则集中规则间的相互关系难以把握,从而导致防火墙无法正确地过滤数据包的问题,提出了一种基于集合理论的规则间包含关系的解析方法。该方法在不考虑规则动作的情况下,基于集合理论的包含关系来解析和分类规则之间的关系,简化了分析规则间相互关系的过程。并且使用高效的函数式编程语言Haskell实现了所提出的方法,整体代码简洁、易于维护和扩展。实验结果表明,对于中小规模的防火墙规则集,能够快速而有效地解析规则间的包含关系,并且能够为后续的规则间的异常检测提供重要的依据。 展开更多
关键词 网络安全 防火墙 规则集 函数式编程语言 集合理论
在线阅读 下载PDF
广义共迭代及其计算律 被引量:3
4
作者 苏锦钿 余珊珊 《华南理工大学学报(自然科学版)》 EI CAS CSCD 北大核心 2012年第9期62-68,共7页
针对函数式编程中的共归纳数据类型上的各种共递归操作缺乏统一描述的问题,利用Monads及其与共代数函子之间的分配律给出了共归纳数据类型上的一种广义共迭代定义——gunfold,证明了gunfold可以为共迭代、原始共递归和Course-of-Value... 针对函数式编程中的共归纳数据类型上的各种共递归操作缺乏统一描述的问题,利用Monads及其与共代数函子之间的分配律给出了共归纳数据类型上的一种广义共迭代定义——gunfold,证明了gunfold可以为共迭代、原始共递归和Course-of-Value共迭代提供一种统一和抽象的描述.在此基础上进一步从范畴论的角度分析了gunfold上的各种性质和计算律. 展开更多
关键词 函数式编程 共归纳数据类型 终结共代数 共递归 MONADS 范畴论
在线阅读 下载PDF
基于Monad的可认证数据结构
5
作者 贺新征 光焱 祝跃飞 《计算机应用与软件》 北大核心 2022年第4期5-13,59,共10页
采用一种基于范畴论发展出来的Monad的实现方法,该方法可从编译器中提取操作性语义,然后将其等价转换为指示性语义。由于Monad方法普遍适用于函数式编程语言,使得基于Monad的可认证数据结构可根据源语言的语法生成新语言特性。优点是新... 采用一种基于范畴论发展出来的Monad的实现方法,该方法可从编译器中提取操作性语义,然后将其等价转换为指示性语义。由于Monad方法普遍适用于函数式编程语言,使得基于Monad的可认证数据结构可根据源语言的语法生成新语言特性。优点是新语言特性的设计者无须深入了解修改编译器语法树,也无须修改源语言的语法,即可完成程序语言编译器之间语义的移植。 展开更多
关键词 可认证数据结构 范畴理论 类型理论 函数式编程 程序语言设计
在线阅读 下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部