[英]What's the fastest way to determine a full URL from a relative URL (given a base URL)
我目前正在使用模块URI::URL
URL从相对URL生成完整的URL; 然而,它并没有像我希望的那样快速运行。 有没有人知道另一种方法可能会更快?
刚发生在这篇文章中 ,指出了Perl的Redhat / Centos / Fedora实现中的缺点,它们深刻地影响了URI
。
如果您正在运行其中一种Linux版本,则可能需要从原始源(而不是RPM源)重新编译Perl。
我意识到在Redhat 5.2,Centos 5.2或Fedora 9上使用perl解释器运行perl代码的人很可能是受害者。 是的,即使您的代码不使用花哨的祝福/过载习语,许多CPAN模块也可以! 这个谷歌搜索显示1500多个模块使用祝福/过载成语,它们包括一些非常流行的,如URI,JSON。 ...
...此时,我决定从源代码重新编译perl。 虫子消失了。 而差异是令人震惊的。 一切都变得非常快。 CPU负载低于0.10,我们处理的数据速度提高了100倍到1000倍!
布兰登,我应该澄清一点,我无法保证相对路径会是什么样子。 它可能非常棘手(例如前面有斜线,没有斜线,有“../”等)。
彼得,这就是我现在正在使用的东西。 或者使用URI :: URL-> new($ path) - > abs更快?
可能有点依赖于你如何获得这两个字符串。 可能安全,防火的方法就是在URI :: URL或类似的库中,其中包括恶意的所有替代品都将被考虑在内。 也许速度较慢,但在某些环境中,子弹的速度会更快。
但是,如果你期望有一些简单而不棘手的东西可以看到它是以/,或者任何其他字符串开头的。 第一个将服务器名称+ url,第二个切断路径从基础uri直到进入其他两个替代方案之一,或者只是将其添加到基本URL。
也许我得到了错误的结束,但不会,
$full_url = $base_url . $relative_url
工作? IIRC Perl文本处理非常快。
Ah sure yes of course. 当然可以肯定是的。 对不起我无法帮助,我的Perl非常生疏。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.