1

我想知道哪种方法在性能和最佳实践方面是正确的。

我有一组 URL,我正在抓取这些页面的内容。我有一个单独的课程来处理抓取。

目前我将数组列表传递给类,然后类循环遍历数组内容,抓取每个数组的内容。我相信这是最好的方法。

我想到的另一种方法是遍历数组,然后将每个 URL 传递给类。这对我来说似乎会慢一些,但我不确定。

如果这两种方法都可行,那么它们的优缺点是什么?

4

2 回答 2

5

我建议你做你认为最清晰和最简单的事情。

通过数组可能会稍微快一点,并且可能会节省几纳秒,但除非你正在做的事情是几纳秒的数量级,否则你不太可能分辨出其中的区别。

于 2012-04-19T10:11:34.533 回答
1

从技术上讲,由于每页方法调用的额外开销(假设这是您正在做的事情),将每个项目传递给类会更慢:

URLProcessor up = new URLProcessor();
for(String url: URLs) {
   up.process(url); // method call for each URL
}

代替:

up.process(URLs); // a single method call

但是,这很可能不会以明显的方式影响运行速度,除非该方法被调用数百万次。程序中发生的重量级任务远不止于此。

于 2012-04-19T10:20:51.053 回答