java script 性能测试。my result

4 篇文章 0 订阅

出处:
Firefox 和 Internet Explorer 在执行 JavaScript 方面的性能对比!
http://blog.csdn.net/xport/archive/2006/05/22/750093.aspx

测试链接:
Javascript performance test
http://wd-testnet.world-direct.at/mozilla/dhtml/funo/jsTimeTest.htm

咱的几点结论:

  1. 俺的机器接近落伍了。
  2. IE 7 总体开销还是比较大的。
  3. FireFox 个别处理的比较“特别”。造成最后结果比较慢。(“警告”:parseInt 两次;Math.sin 一次;concatenate strings 一次。)

实际上,根据以往的习惯,firefox 在运行效率、操作响应上要稍好于 ie 。不过,还是 ie 用的比较习惯就是了。

现在,这个 ie 7 确实不是盖的。界面的美观、易用性,让人印象深刻。

ie7

ff 1.5.03

ff warning

Redis并没有提供分段锁的原生实现,但是可以通过使用Lua脚本在Redis中实现分段锁。 以下是一个使用Java代码实现Redis分段锁的示例: ```java public class RedisSegmentLock { private final JedisPool jedisPool; public RedisSegmentLock(JedisPool jedisPool) { this.jedisPool = jedisPool; } /** * 获取分段锁 * * @param key 锁的key * @param segmentNum 分段数量 * @param timeout 超时时间,单位:毫秒 * @return 是否成功获取锁 */ public boolean acquireLock(String key, int segmentNum, long timeout) { try (Jedis jedis = jedisPool.getResource()) { String script = "local segmentNum = tonumber(ARGV[1]);" + "local key = KEYS[1];" + "local timeout = tonumber(ARGV[2]);" + "local lockValue = redis.call('GET', key);" + "if lockValue == false then" + " lockValue = segmentNum;" + " redis.call('SET', key, lockValue);" + "end;" + "if tonumber(lockValue) <= segmentNum then" + " redis.call('INCR', key);" + " redis.call('PEXPIRE', key, timeout);" + " return true;" + "end;" + "return false;"; Object result = jedis.eval(script, Collections.singletonList(key), Arrays.asList(String.valueOf(segmentNum), String.valueOf(timeout))); return (Boolean) result; } } /** * 释放分段锁 * * @param key 锁的key */ public void releaseLock(String key) { try (Jedis jedis = jedisPool.getResource()) { jedis.del(key); } } } ``` 在上述代码中,我们使用Lua脚本实现了分段锁的逻辑。首先获取当前锁的值,如果当前锁的值不存在,则将其设置为当前分段编号,表示当前分段已经获取到锁。如果当前锁的值小于等于分段编号,则表示当前分段已经获取到锁,我们将当前锁的值增加1,并设置过期时间,最后返回获取锁成功;否则,返回获取锁失败。 在使用时,我们可以通过创建一个RedisSegmentLock实例,并调用acquireLock方法获取锁,调用releaseLock方法释放锁。 ```java JedisPool jedisPool = new JedisPool("localhost", 6379); RedisSegmentLock lock = new RedisSegmentLock(jedisPool); try { if (lock.acquireLock("my_lock_key", 5, 5000)) { // 获取锁成功,执行业务逻辑 } else { // 获取锁失败,执行其他逻辑 } } finally { lock.releaseLock("my_lock_key"); } ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值