我在服务器上生成一个JSON文件,每隔5分钟左右(现在大小约为10 KB,在投入生产时会变大)。拉动文件后,我有各种Javascript Visualization API,我需要插入数据。
我的后端在C中,我使用Jquery / Javascript进行可视化。
以下是我的两种方法: 1。 一个。每5分钟从服务器获取整个JSON数据(> 8KB)。 湾使用Javascript解析数据并根据Javascript API的要求提取所需信息。 (不同的可视化API需要不同的信息子集) C。显示可视化
OR 2。 一个。处理后端本身的数据并根据Javascript API提取信息并将其存储在后端 湾让每个javascript api进行独立的Ajax调用并获取自己的数据并显示它
我的问题是,上述两种方法中的哪一种会产生更快的输出。 在这种情况下,C中的后端是否会比Javascript中的前端更快
答案 0 :(得分:2)
唯一可以给出的答案是对两种方法进行基准测试。有太多的变量可以给出明确的答案。
正在使用的浏览器会对客户端需要多长时间产生影响,因此根据您需要支持的内容,您需要牢记这一点。
需要解析的数据结构有多复杂可能会对客户端性能产生影响。
如果每个用户的数据相同,您可能会在服务器上进行解析和缓存。如果它不同,您可能希望客户端处理此问题。
答案 1 :(得分:0)
我不清楚你要做什么。无论哪种方式,我认为业务逻辑必须包含在服务器上,并且表示逻辑(jQuery / javascript或您正在使用的任何库)必须严格地在客户端上运行。
答案 2 :(得分:0)
你的第二种方法会更快,也许更好。既然你说“让每个javascript api ...得到他们自己的数据”,似乎方法1表明发送的客户超过了它的需要。
答案 3 :(得分:0)
取决于您的插件将提出多少请求。如果您不必进行任何计算,并且所有操作都在第一次调用中完成,并且您的任务仅定义了每个数据应该去的位置,则选项1是最快的。请求很昂贵。
另一方面,如果您要计算javascript中的值,则取决于这些计算的重要程度。在这种情况下,你会得到一个更好的答案做基准:
澄清一下,在第一种方法中,你的瓶颈将是计算。第二,网络/客户端浏览器速度所花费的时间。
考虑将所有结果分组到一个JSON结果中,并将它们传递给插件。
并且考虑一下,如果你在服务器上这样做,也许你可以使用缓存来赢得一些处理时间(我说可能是因为它取决于你正在使用什么样的算法/数据源)
希望有所帮助,祝你好运! : - )
答案 4 :(得分:0)
您应该知道的第一件事是您的特定设置将对此系统的性能产生更大的影响,因此,唯一可以确定的方法是对这两种方法进行基准测试。话虽这么说,像C这样的编译语言几乎总是比像JavaScript这样的解释语言更快。