1

我正在尝试开发一些图像处理代码。我想设计一个不同的 API 来支持不同的类型,比如 int、double、float、char 等,而不需要动态多态的帮助因为我发现当你处理图像处理时,动态多态会减慢你的速度,使用原语像 int 或 char 这样的类型是最快的解决方案,但是当我想根据这些类型设计不同的 API 时非常不方便。

此外,我想在没有动态多态的负担的情况下做这样的事情

public static void convert_color(
        final int[] sp, final int[] dp,
        final int Xres, final int Yres,
                    Strategy strategy)
{
    \\....
}

有些算法会受到策略(动态多态性)的性能损失,我需要复制和粘贴只是因为策略不同。

以我目前的水平设计高性能和灵活性的图像处理非常困难,您有更好的解决方案来获得性能和灵活性吗?

4

1 回答 1

1

我建议您了解Trove4j如何在为基元生成集合时解决此问题。您也可以使用他们的收藏。

我会从一个“超级类型”开始,例如double,优化你发现它产生影响的代码。

于 2012-12-05T11:04:32.473 回答