基本上我已经编写了一个自定义分配器和一些测试来比较它的速度和库存malloc()函数。在Windows上,与使用malloc相比,使用自定义分配器的分配速度提高了大约50-200倍,但在android上它的速度提高了大约4倍。我为这两个平台编写的代码之间的唯一区别是,识别我在Windows中使用GetCurrentThreadId()的当前线程(从我收集的内容中获取与从RAM中获取int一样高效),以及适用于Android的gettid()。
我要问的是,gettid()是否最有可能导致两个平台上的代码之间存在差异?如果是这样,gettid有多快,是否有更快的方法来获取当前线程的唯一ID?
谢谢