【发布时间】:2011-11-16 16:27:24
【问题描述】:
我目前正在为particle simulator 开发命令行界面。它的解析器采用以下格式读取输入:
[命令] [参数]* (-[标志] [标志参数])
目前,命令是通过条件块发送的,与各种已知命令相比,其对应的数据包被发送到匹配函数。然而,这似乎笨重、低效和不优雅。
我正在考虑改用哈希图,将命令的字符串表示形式作为键,将函数指针作为值。引用的函数将被发送一个包含参数、标志等的数据包。
在这种情况下,哈希映射是否过大?实施一个所需的额外基础设施是否超过了潜在的好处?我的目标是速度、优雅、功能,并且,因为这是一个开源项目,所以是可扩展性。
感谢您的帮助。
【问题讨论】:
-
也许一个有序的地图就足够了,因为你可能不会有数百万的案例或在一个紧密的循环中调用解析器。但是,由于这些都不是完全可以编写的,因此可能选择了您的编译器已经提供的结构。
-
我认为你必须记住,参数只在启动时评估,你没有机会让它成为速度的瓶颈。哈希图似乎是一个足够优雅的解决方案......
标签: c performance hashmap