在路上无事, 看看 LeetCode.
感觉 LeetCode 中关于 JavaScript 的测试好随意啊.
一套代码, 仅把 const 替换为 var 就节省了 100ms 左右的时间. 然后将 let 替换为 var 增加了 50ms 左右的时间.
我只能这样猜测, 因为 const 会检查变量是否被重新赋值, 所以耗费了额外的时间, 而 let 比 var 作用域更小, 避免作用域外的声明, 所以省了一些时间.
或许我的猜测只是臆想, 只是对 JavaScript 执行内核(如 V8)不懂造成的. JavaScript 是一种不重视性能的语言, 所以才导致 LeetCode 允许这样的偏差吧.
1
bramblex 2018-02-16 16:29:47 +08:00
js 好歹是第二梯队最快的了好吧,v8 jit 命中的时候是接近 c 艹 速度的……
你要整天写反优化的代码,c 艹都救不了你 |
2
littlebutt 2018-02-16 16:46:32 +08:00 via iPhone
自己在浏览器控制台写的代码运行都很快,在 leetcode 就变成 internal error 了
|
3
pkookp8 2018-02-16 16:54:16 +08:00 via Android
应该不准,可能和服务器以及测试用例有关
某题用 c 写的,第二天的测试结果比第一天高 然后看了下排名比我靠前的几个答案,思路也没差多少 |
4
0person 2018-02-16 18:40:30 +08:00 via Android
leetcode 有 app 么
|
5
brickyang 2018-02-16 22:22:20 +08:00 via iPhone 1
不靠谱,同一段代码点两次提交名次可以出现从 60% 后到 30% 前的波动
|
6
pipapa 2018-02-16 23:28:17 +08:00 via Android 1
leetcode 的评测时间一点都不靠谱,一样的代码差距都挺大
|
7
hazhaz 2018-02-17 11:42:28 +08:00
最近怎么关于 LC 的主题便多了啊。。。是不是因为有 lccn 啊
|
8
LeoEatle 2018-02-18 04:14:38 +08:00
评测时间的确有波动,但是你的算法如果是符合要求的,不可能会 time out。O(logn)的一定比 O(n^2)的容易过
|
9
waiaan 2018-02-20 19:03:50 +08:00 via Android
怎么在上面找 javascript 的题目?
|