# Optimizing CounterTools Vanity Generator

**URL:** <https://forums.counterparty.io/t/optimizing-countertools-vanity-generator/2017>\
**Category:** 3rd Party\
**Created:** [April 23, 2016, 6:08am UTC](https://forums.counterparty.io/t/optimizing-countertools-vanity-generator/2017 "2016-04-23T06:08:16Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![JPJA](https://yyz2.discourse-cdn.com/flex004/user_avatar/forums.counterparty.io/jpja/32/1324_2.png) [@JPJA](https://forums.counterparty.io/u/JPJA)\
**Post date:** [April 23, 2016, 6:08am UTC](https://forums.counterparty.io/t/optimizing-countertools-vanity-generator/2017/1 "2016-04-23T06:08:17Z")

</div>

@rubensayshi’s excellent [cp-vanitygen](https://github.com/rubensayshi/cp-vanitygen) loops around 3000x per second.  
[CounterTools](https://github.com/Jpja/CounterTools/blob/master/vanity.html)’ browser/javascript implementation only makes ~5 loops/sec.

I’m looking for ways to improve CT’s performance, and I’ve found the bottlenecks.

A full loop that lasted 208 ms

- spent 52 ms on line 181; `var HDPrivateKey = bitcore.HDPrivateKey.fromSeed(res, bitcore.Networks.livenet);`
- spent 152 ms on line 183; `var derived = HDPrivateKey.derive("m/0'/0/0");`
- spent only 4 ms on everything else

Does someone know a more efficient way?
