我知道如何使用LOC,SLOC或任何其他指标来衡量模块实施。
但我想知道:是否有可能“测量”几种不同的API以找到“最好的”?
例如: Nucleus RTOS: STATUS NU_Create_Semaphore(NU_SEMAPHORE *信号量,CHAR *名称,UNSIGNED initial_count,OPTION suspend_type);
Posix:int sem_init(sem_t * sem,int pshared,unsigned int value);
例如,我们可以说Nucleus OS中信号量的创建应该使用比Posix变量更多的堆栈。那么我们可以得出结论,在这种情况下,如果我们使用“堆栈大小”作为“度量”,Posix是更好的API吗?
或者这种分析只是愚蠢的?
如果上面不是愚蠢的那么我想知道更多:测量覆盖相同功能的API(创建sempahore,创建线程等)是“容易的”但是如何测量提供功能不相同的相同功能的API “?
我可以想象使用不同的API制作相同功能的测试。 在通过不同的指标(内存消耗,LOC,SLOC等)比较几个这样的创建测试后,我可以得出结论,一个API比其他API更好吗?
TIA
答案 0 :(得分:2)
长期,简单性和可维护性远比性能更重要,特别是如果此API不是来自应用程序本地库而是远程服务。
答案 1 :(得分:0)
真的取决于你的判断标准。 最佳选择是列出所有可用的API以满足您的所需功能 确定一个判断标准,可以根据您的要求 它可以是时间复杂度(功能的顺序),空间复杂性,易用性,您对API的理解,在其他模块中的可用性或您的应用程序要求,并根据它做出判断。