# Benchmark: Manticore 3 vs Sphinx 3 - now even faster

Recently [we released Manticore 3.0.0](https://manticoresearch.com/blog/manticore-search-3-0-0-is-now-available/) with lots of improvements including some new optimizations that improve performance. In this article we'd like to compare the new version's performance with performance of Sphinx 3.1.1.

### TL;DR

Manticore shows:
- about **2x higher search performance in some cases, especially with longer queries**
- and lower, but **still better performance in all the other tests**
- except for the indexation time where Sphinx is 2% faster

### Test environment

As [previously when we benchmarked Manticore 2.7 vs Sphinx 3](https://manticoresearch.com/blog/manticore-2-7-5-vs-sphinx-3-1-1/) we'll benchmark that on the dataset of 11.6M user comments from Hacker News.

The benchmark was conducted with the following conditions:
- [Hacker News curated comments dataset](https://zenodo.org/record/45901/export/xd#.XEqiuc8zaU0) of 2016 in CSV format
- OS: Ubuntu 18.04.1 LTS (Bionic Beaver), kernel: 4.15.0-47-generic
- CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, 8 cores
- 32G RAM
- HDD
- Docker version 18.09.2
- Base image for indexing and searchd - Ubuntu:bionic
- Manticore Search was built in docker, Sphinx binaries were downloaded from the site since there's no open source to build from
- [stress-tester](http://github.com/Ivinco/stress-tester) for benchmarking

The config is identical for Manticore and Sphinx:

```ini
source full
{
  type = csvpipe
  csvpipe_command = cat /root/hacker_news_comments.prepared.csv|grep -v line_number
  csvpipe_attr_uint = story_id
  csvpipe_attr_timestamp = story_time
  csvpipe_field = story_text
  csvpipe_field = story_author
  csvpipe_attr_uint = comment_id
  csvpipe_field = comment_text
  csvpipe_field = comment_author
  csvpipe_attr_uint = comment_ranking
  csvpipe_attr_uint = author_comment_count
  csvpipe_attr_uint = story_comment_count
}

index full
{
  path = /root/idx_full
  source = full
  html_strip = 1
  mlock = 1
}

searchd
{
  listen = 9306:mysql41
  query_log = /root/query.log
  log = /root/searchd.log
  pid_file = /root/searchd.pid
  binlog_path =
  qcache_max_bytes = 0
}
```

### Indexation

Indexation took **1263 seconds for Manticore** and **1237 seconds for Sphinx**:

Manticore:

```bash
indexing index 'full'...
collected 11654429 docs, 6198.6 MB
creating lookup: 11654.4 Kdocs, 100.0% done
creating histograms: 11654.4 Kdocs, 100.0% done
sorted 1115.7 Mhits, 100.0% done
total 11654429 docs, 6198580642 bytes
total <b>1263.497 sec</b>, 4905890 bytes/sec, 9223.94 docs/sec
total 22924 reads, 1.484 sec, 238.4 kb/call avg, 0.0 msec/call avg
total 11687 writes, 11.773 sec, 855.1 kb/call avg, 1.0 msec/call avg
```

Sphinx:

```bash
indexing index 'full'...
collected 11654429 docs, 6198.6 MB
sorted 1115.7 Mhits, 100.0% done
total 11654429 docs, 6.199 Gb
total <b>1236.9</b> sec, 5.011 Mb/sec, 9422 docs/sec
```

So on this data set and index schema **Manticore indexes slower than Sphinx by ~2%.**  

## Performance tests

---


Both instances were warmed up before testing. The index files were as follows:

Manticore:

```bash
root@bench# ls -lah /var/lib/docker/volumes/64746c338de981014c7c1ea93d4c55f55e13de63ac9e49c2d31292bb239a82b6/_data
total 4.7G
drwx------ 2 root root 4.0K May 14 09:03 .
drwxr-xr-x 3 root root 4.0K May 14 09:01 ..
-rw-r--r-- 1 root root 362M May 13 17:22 idx_full.spa
-rw-r--r-- 1 root root 3.1G May 13 17:31 idx_full.spd
-rw-r--r-- 1 root root  90M May 13 17:31 idx_full.spe
-rw-r--r-- 1 root root  628 May 13 17:31 idx_full.sph
-rw-r--r-- 1 root root  29K May 13 17:22 idx_full.sphi
-rw-r--r-- 1 root root 6.5M May 13 17:31 idx_full.spi
-rw------- 1 root root    0 May 14 09:03 idx_full.spl
-rw-r--r-- 1 root root 1.4M May 13 17:22 idx_full.spm
-rw-r--r-- 1 root root 1.1G May 13 17:31 idx_full.spp
-rw-r--r-- 1 root root  59M May 13 17:22 idx_full.spt
```

Sphinx:

```bash
root@bench /var/lib/docker/volumes # ls -lah /var/lib/docker/volumes/bd28586b5102ff91d4c367f612e2f7b1fe0a066917c8e0b4636d203dd3ba5b0b/_data
total 4.6G
drwx------ 3 root root 4.0K May 14 09:04 .
drwxr-xr-x 3 root root 4.0K May 14 09:03 ..
-rw-r--r-- 1 root root 362M May 13 19:09 idx_full.spa
-rw-r--r-- 1 root root 3.1G May 13 19:17 idx_full.spd
-rw-r--r-- 1 root root  27M May 13 19:17 idx_full.spe
-rw-r--r-- 1 root root  648 May 13 19:17 idx_full.sph
-rw-r--r-- 1 root root 6.3M May 13 19:17 idx_full.spi
-rw-r--r-- 1 root root    8 May 13 19:09 idx_full.spj
-rw-r--r-- 1 root root 1.4M May 13 19:09 idx_full.spk
-rw------- 1 root root    0 May 14 09:04 idx_full.spl
-rw-r--r-- 1 root root 1.1G May 13 19:17 idx_full.spp
```


### Test 1 - time to process top 1000 terms from the collection

First of all let's just run a simple test - how much it takes to find documents containing top 1000 terms from the collection:

```bash
for n in `head -1000 hn_top.txt|awk '{print $1}'`; do
mysql -P9306 -hhn_$engine -e "select * from full where match('@(comment_text,story_text,comment_author,story_author) $n') limit 10 option max_matches=1000" > /dev/null
done

```
The results are: 77.61 seconds for Sphinx and 71.46 seconds for Manticore.

![](./benchmark_manticore3_vs_sphinx3/at1-2899952845-1558009631666.png)

**So in this test Manticore Search is faster than Sphinx Search by 8,59%.**  

### Test 2 - top 1000 frequent terms from the collection broken down by groups (top 1-50, top 50-100 etc.)

Now let's see how Sphinx and Manticore are different in processing terms from sub-groups of the group of top 1000 frequent terms.

To understand the queries better here're some random query examples for each of the groups:

<table border="1" cellpadding="0" cellspacing="0" dir="ltr"><colgroup> <col width="100"></col> <col width="100"></col> <col width="100"></col> <col width="100"></col> <col width="100"></col> <col width="100"></col></colgroup><tbody><tr><td data-sheets-value="{"><b>1-50</b></td><td data-sheets-value="{"><b>50-100</b></td><td data-sheets-value="{"><b>100-150</b></td><td data-sheets-value="{"><b>150-200</b></td><td data-sheets-value="{"><b>200-250</b></td><td data-sheets-value="{"><b>250-300</b></td></tr><tr><td data-sheets-value="{">about</td><td data-sheets-value="{">get</td><td data-sheets-value="{">thing</td><td data-sheets-value="{">used</td><td data-sheets-value="{">different</td><td data-sheets-value="{">high</td></tr><tr><td data-sheets-value="{">my</td><td data-sheets-value="{">work</td><td data-sheets-value="{">am</td><td data-sheets-value="{">off</td><td data-sheets-value="{">system</td><td data-sheets-value="{">build</td></tr><tr><td data-sheets-value="{">more</td><td data-sheets-value="{">things</td><td data-sheets-value="{">seems</td><td data-sheets-value="{">sure</td><td data-sheets-value="{">didn</td><td data-sheets-value="{">next</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{"><b>300-350</b></td><td data-sheets-value="{"><b>350-400</b></td><td data-sheets-value="{"><b>400-450</b></td><td data-sheets-value="{"><b>450-500</b></td><td data-sheets-value="{"><b>500-550</b></td><td data-sheets-value="{"><b>550-600</b></td></tr><tr><td data-sheets-value="{">days</td><td data-sheets-value="{">worth</td><td data-sheets-value="{">20</td><td data-sheets-value="{">wanted</td><td data-sheets-value="{">price</td><td data-sheets-value="{">itself</td></tr><tr><td data-sheets-value="{">write</td><td data-sheets-value="{">server</td><td data-sheets-value="{">care</td><td data-sheets-value="{">sites</td><td data-sheets-value="{">g</td><td data-sheets-value="{">file</td></tr><tr><td data-sheets-value="{">nothing</td><td data-sheets-value="{">phone</td><td data-sheets-value="{">story</td><td data-sheets-value="{">recently</td><td data-sheets-value="{">model</td><td data-sheets-value="{">store</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{"><b>600-650</b></td><td data-sheets-value="{"><b>650-700</b></td><td data-sheets-value="{"><b>700-750</b></td><td data-sheets-value="{"><b>750-800</b></td><td data-sheets-value="{"><b>800-850</b></td><td data-sheets-value="{"><b>850-900</b></td></tr><tr><td data-sheets-value="{">hiring</td><td data-sheets-value="{">smart</td><td data-sheets-value="{">welcome</td><td data-sheets-value="{">choice</td><td data-sheets-value="{">taken</td><td data-sheets-value="{">topic</td></tr><tr><td data-sheets-value="{">client</td><td data-sheets-value="{">wish</td><td data-sheets-value="{">wants</td><td data-sheets-value="{">pg</td><td data-sheets-value="{">details</td><td data-sheets-value="{">core</td></tr><tr><td data-sheets-value="{">iphone</td><td data-sheets-value="{">reasons</td><td data-sheets-value="{">environment</td><td data-sheets-value="{">generally</td><td data-sheets-value="{">css</td><td data-sheets-value="{">wondering</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{"><b>900-950</b></td><td data-sheets-value="{"><b>950-1000</b></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{">complete</td><td data-sheets-value="{">keywords</td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{">resources</td><td data-sheets-value="{">late</td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{">thoughts</td><td data-sheets-value="{">ipad</td><td></td><td></td><td></td><td></td></tr></tbody></table>

![](./benchmark_manticore3_vs_sphinx3/95p-latency-of-top-1000-frequent-terms-from-Hacker-News-collection-by-term-groups-top-1-50-top-50-100-etc.-ms.png)
![](./benchmark_manticore3_vs_sphinx3/Throughput-of-top-1000-frequent-terms-from-Hacker-News-collection-by-term-groups-top-1-50-top-50-100-etc..png)

**Manticore is faster than Sphinx by 6,8% 95p latency-wise and 12.2% throughput-wise.**  

### Test 3 - top 1000 frequent terms from the collection broken down by groups + 1 term from group 1-100

Let's see how it works when you have one very frequent term and another less frequent. The examples are:

<table border="1" cellpadding="0" cellspacing="0" dir="ltr"><colgroup> <col width="100"></col> <col width="100"></col> <col width="100"></col> <col width="100"></col> <col width="100"></col> <col width="100"></col></colgroup><tbody><tr><td data-sheets-value="{"><b>1-50</b></td><td data-sheets-value="{"><b>50-100</b></td><td data-sheets-value="{"><b>100-150</b></td><td data-sheets-value="{"><b>150-200</b></td><td data-sheets-value="{"><b>200-250</b></td><td data-sheets-value="{"><b>250-300</b></td></tr><tr><td data-sheets-value="{">more be</td><td data-sheets-value="{">that been</td><td data-sheets-value="{">way being</td><td data-sheets-value="{">an off</td><td data-sheets-value="{">just startup</td><td data-sheets-value="{">had pay</td></tr><tr><td data-sheets-value="{">them as</td><td data-sheets-value="{">could other</td><td data-sheets-value="{">can d</td><td data-sheets-value="{">think own</td><td data-sheets-value="{">really else</td><td data-sheets-value="{">if design</td></tr><tr><td data-sheets-value="{">about was</td><td data-sheets-value="{">make then</td><td data-sheets-value="{">was etc</td><td data-sheets-value="{">from app</td><td data-sheets-value="{">to little</td><td data-sheets-value="{">on yet</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{"><b>300-350</b></td><td data-sheets-value="{"><b>350-400</b></td><td data-sheets-value="{"><b>400-450</b></td><td data-sheets-value="{"><b>450-500</b></td><td data-sheets-value="{"><b>500-550</b></td><td data-sheets-value="{"><b>550-600</b></td></tr><tr><td data-sheets-value="{">just either</td><td data-sheets-value="{">a internet</td><td data-sheets-value="{">who net</td><td data-sheets-value="{">you location</td><td data-sheets-value="{">will program</td><td data-sheets-value="{">t basically</td></tr><tr><td data-sheets-value="{">not away</td><td data-sheets-value="{">by social</td><td data-sheets-value="{">t past</td><td data-sheets-value="{">a sites</td><td data-sheets-value="{">a several</td><td data-sheets-value="{">has co</td></tr><tr><td data-sheets-value="{">1 write</td><td data-sheets-value="{">has means</td><td data-sheets-value="{">most guys</td><td data-sheets-value="{">no matter</td><td data-sheets-value="{">has space</td><td data-sheets-value="{">if basically</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{"><b>600-650</b></td><td data-sheets-value="{"><b>650-700</b></td><td data-sheets-value="{"><b>700-750</b></td><td data-sheets-value="{"><b>750-800</b></td><td data-sheets-value="{"><b>800-850</b></td><td data-sheets-value="{"><b>850-900</b></td></tr><tr><td data-sheets-value="{">way programmers</td><td data-sheets-value="{" title="">see title</td><td data-sheets-value="{">because words</td><td data-sheets-value="{">think mac</td><td data-sheets-value="{">most expensive</td><td data-sheets-value="{">time changed</td></tr><tr><td data-sheets-value="{">was difficult</td><td data-sheets-value="{">me successful</td><td data-sheets-value="{">com customer</td><td data-sheets-value="{">is heard</td><td data-sheets-value="{">on extremely</td><td data-sheets-value="{">been food</td></tr><tr><td data-sheets-value="{">their weeks</td><td data-sheets-value="{">than yc</td><td data-sheets-value="{">because fine</td><td data-sheets-value="{">also desktop</td><td data-sheets-value="{">for understanding</td><td data-sheets-value="{">most traffic</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{"><b>900-950</b></td><td data-sheets-value="{"><b>950-1000</b></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{">if party</td><td data-sheets-value="{">really fairly</td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{">when serious</td><td data-sheets-value="{">here servers</td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{">think speed</td><td data-sheets-value="{">was lose</td><td></td><td></td><td></td><td></td></tr></tbody></table>

![](./benchmark_manticore3_vs_sphinx3/95-latency-of-top-1000-frequent-terms-from-Hacker-News-colleciton-by-groups-1-term-from-group-1-100-ms.png)
![](./benchmark_manticore3_vs_sphinx3/Throughput-of-top-1000-frequent-terms-from-Hacker-News-colleciton-by-groups-1-term-from-group-1-100.png)


**Wow, Manticore is faster than Sphinx by 106% for throughput and 91,8% in average in terms of 95p latency.**  

### Test 4 - top 1000 frequent terms from the collection broken down by groups + 1 term from group 1-100, both terms enclosed in quotes to make a phrase

<table border="1" cellpadding="0" cellspacing="0" dir="ltr"><colgroup> <col width="100"></col> <col width="100"></col> <col width="100"></col> <col width="100"></col> <col width="100"></col> <col width="100"></col></colgroup><tbody><tr><td data-sheets-value="{"><b>1-50</b></td><td data-sheets-value="{"><b>50-100</b></td><td data-sheets-value="{"><b>100-150</b></td><td data-sheets-value="{"><b>150-200</b></td><td data-sheets-value="{"><b>200-250</b></td><td data-sheets-value="{"><b>250-300</b></td></tr><tr><td data-sheets-value="{">"they all"</td><td data-sheets-value="{">"think also"</td><td data-sheets-value="{">"that code"</td><td data-sheets-value="{">"we app"</td><td data-sheets-value="{">"from give"</td><td data-sheets-value="{">"by user"</td></tr><tr><td data-sheets-value="{">"http you"</td><td data-sheets-value="{">"like been"</td><td data-sheets-value="{">"is our"</td><td data-sheets-value="{">"as article"</td><td data-sheets-value="{">"use made"</td><td data-sheets-value="{">"really least"</td></tr><tr><td data-sheets-value="{">"by some"</td><td data-sheets-value="{">"use work"</td><td data-sheets-value="{">"don well"</td><td data-sheets-value="{">"i app"</td><td data-sheets-value="{">"could different"</td><td data-sheets-value="{">"if understand"</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{"><b>300-350</b></td><td data-sheets-value="{"><b>350-400</b></td><td data-sheets-value="{"><b>400-450</b></td><td data-sheets-value="{"><b>450-500</b></td><td data-sheets-value="{"><b>500-550</b></td><td data-sheets-value="{"><b>550-600</b></td></tr><tr><td data-sheets-value="{">"other developer"</td><td data-sheets-value="{">"by building"</td><td data-sheets-value="{">"want create"</td><td data-sheets-value="{">"there front"</td><td data-sheets-value="{">"any government"</td><td data-sheets-value="{">"them consider"</td></tr><tr><td data-sheets-value="{">"has ideas"</td><td data-sheets-value="{">"i python"</td><td data-sheets-value="{">"who given"</td><td data-sheets-value="{">"has completely"</td><td data-sheets-value="{">"has price"</td><td data-sheets-value="{">"ve starting"</td></tr><tr><td data-sheets-value="{">"way facebook"</td><td data-sheets-value="{">"be edit"</td><td data-sheets-value="{">"up link"</td><td data-sheets-value="{">"use location"</td><td data-sheets-value="{">"really deal"</td><td data-sheets-value="{">"now early"</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{"><b>600-650</b></td><td data-sheets-value="{"><b>650-700</b></td><td data-sheets-value="{"><b>700-750</b></td><td data-sheets-value="{"><b>750-800</b></td><td data-sheets-value="{"><b>800-850</b></td><td data-sheets-value="{"><b>850-900</b></td></tr><tr><td data-sheets-value="{">"been weeks"</td><td data-sheets-value="{">"up engineering"</td><td data-sheets-value="{">"has asking"</td><td data-sheets-value="{">"s p"</td><td data-sheets-value="{">"who css"</td><td data-sheets-value="{">"there plus"</td></tr><tr><td data-sheets-value="{">"make api"</td><td data-sheets-value="{">"we expect"</td><td data-sheets-value="{">"really willing"</td><td data-sheets-value="{">"t step"</td><td data-sheets-value="{">"because strong"</td><td data-sheets-value="{">"for traffic"</td></tr><tr><td data-sheets-value="{">"was note"</td><td data-sheets-value="{">"would themselves"</td><td data-sheets-value="{">"http degree"</td><td data-sheets-value="{">"http desktop"</td><td data-sheets-value="{">"not otherwise"</td><td data-sheets-value="{">"much food"</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{"><b>900-950</b></td><td data-sheets-value="{"><b>950-1000</b></td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{">"s bring"</td><td data-sheets-value="{">"very require"</td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{">"this choose"</td><td data-sheets-value="{">"all examples"</td><td></td><td></td><td></td><td></td></tr><tr><td data-sheets-value="{">"now bring"</td><td data-sheets-value="{">"be argument"</td><td></td><td></td><td></td><td></td></tr></tbody></table>

![](./benchmark_manticore3_vs_sphinx3/95p-latency-of-top-1000-frequent-terms-from-Hacker-News-colleciton-by-groups-1-term-from-group-1-100-both-terms-enclosed-in-quotes-to-make-a-phrase-ms.png)
![](./benchmark_manticore3_vs_sphinx3/Throughput-of-top-1000-frequent-terms-from-Hacker-News-colleciton-by-groups-1-term-from-group-1-100-both-terms-enclosed-in-quotes-to-make-a-phrase.png)


**Here Manticore is in average faster: by 11,8% for throughput and 21,2% for 95p latency.**  

### Test 5 - 2 terms each from group 600-750 under different concurrencies

This test aims to show the difference in throughput under different query concurrencies. Here's what we get:

![](./benchmark_manticore3_vs_sphinx3/95p-latency-of-2-terms-each-from-group-600-750-under-different-concurrencies-ms.png)
![](./benchmark_manticore3_vs_sphinx3/Throughput-of-2-terms-each-from-group-600-750-under-different-concurrencies.png)
**Manticore is faster under all the concurrencies by average 31% and gives throughput with 95p latency lower by 28%.**  

### Тest 6 - 3-5 terms from different groups

This test aims to show the difference in search by longer queries (3-5 terms):
- <span class="pl-s">3 terms from groups 100-200 400-500 800-900 correspondingly</span>
- 4 terms from groups 100-200 300-400 500-600 800-900 correspondingly
- 5 terms from groups 100-200 300-400 500-600 800-900 900-1000 correspondingly

Query examples:

<table border="1" cellpadding="0" cellspacing="0" dir="ltr"><colgroup> <col width="100"></col> <col width="100"></col> <col width="100"></col></colgroup><tbody><tr><td data-sheets-value="{">3 terms</td><td data-sheets-value="{">4 terms</td><td data-sheets-value="{">5 terms</td></tr><tr><td data-sheets-value="{">job self release</td><td data-sheets-value="{">using thanks second 12</td><td data-sheets-value="{">switch started b 12 places
</td></tr><tr><td data-sheets-value="{">every sites missing</td><td data-sheets-value="{">around school model links</td><td class="" data-sheets-value="{">switch github class hate recent
</td></tr><tr><td data-sheets-value="{">his aren avoid</td><td data-sheets-value="{">through jobs amount effect</td><td data-sheets-value="{">switch facebook office absolutely english
</td></tr></tbody></table>

![](./benchmark_manticore3_vs_sphinx3/95p-latency-of-3-5-terms.png)
![](./benchmark_manticore3_vs_sphinx3/Throughput-of-3-5-terms.png)

**Manticore's throughput is 77.6% higher and the 95p latency is 81.4% lower.**  

### TEST 7: 3 AND terms from groups 300-600 and 1 NOT from 300-400

In this test we add a NOT term to a 3-term query:

![](./benchmark_manticore3_vs_sphinx3/95p-latency-of-3-AND-terms-from-groups-300-600-and-1-NOT-from-300-400.png)
![](./benchmark_manticore3_vs_sphinx3/Throughput-of-3-AND-terms-from-groups-300-600-and-1-NOT-from-300-400.png)

**Throughput - 66.6% higher, 95p latency - 57% lower.**  

# Conclusions
Sphinx shows few seconds better indexation performance on a 21 minutes indexation.
**As for the search performance which as we think is much more important Manticore 3.0.0 demonstrates much higher throughput and lower latency in all the tests.** The whole test is fully dockerized and [open sourced in our github](https://github.com/manticoresoftware/benchmarks/tree/53aa3b1c7f905319e854c537baf8524c6b919404/hn_sphinx_manticore). The detailed results can be found [here](https://docs.google.com/spreadsheets/d/1rYveMSw7P5Ll0OjSIhGOABf1WraIlFTkEs5NGGASFHI/edit?usp=sharing). We'll appreciate if you run the same tests on your hardware or add different tests to the suite and let us know the results.

If you're thinking of migrating to Manticore 3 please read [this article](https://manticoresearch.com/blog/migrating-indexes-to-version-3/). We understand that your indexes may be big and to ease the migration process there's a new tool [index\_converter](https://docs.manticoresearch.com/latest/html/command_line_tools_reference/index_converter_command_reference.html#index-converter-command-reference) which can easily convert your existing Sphinx 2 / Manticore 2 indexes to new Manticore 3 index format.

In case you have any issue, question or comments feel free to contact us:
- on [twitter](https://twitter.com/manticoresearch)
- by sending an email to <contact@manticoresearch.com>
- posting on our [Forum](https://forum.manticoresearch.com)
- chatting with us in our [Community Slack](http://slack.manticoresearch.com)
- complaining on how bad is everything on our [bug tracker in GitHub](https://github.com/manticoresoftware/manticore)
