The following presents the number of operations per second to process each
pair of geometries with the given relation by each predicate. An ❌
indicates the predicate is not supported for those geometries. The fastest
and slowest times are highlighted. The geometries tested are in
test/data/bench
.
first | relation | second | contains | coveredby | covers | crosses | disjoint | equals | intersects | overlaps | touches | within |
---|---|---|---|---|---|---|---|---|---|---|---|---|
LineString | contains | LineString | 44,169 | 491,200 | 44,210 | 48,136 | 46,871 | 428,754 | 46,482 | 16,088 | 32,246 | 491,281 |
LineString | coveredby | LineString | 659,247 | 801,112 | 604,411 | 59,241 | 62,227 | 327,589 | 71,260 | 788,965 | 50,526 | 799,497 |
LineString | covers | LineString | 56,062 | 332,611 | 56,097 | 93,098 | 90,484 | 286,708 | 90,193 | 18,945 | 50,419 | 305,879 |
LineString | crosses | LineString | 413,673 | 444,211 | 396,629 | 14,798 | 14,761 | 402,621 | 15,212 | 9,730 | 75,594 | 434,681 |
LineString | disjoint | LineString | 1,195,654 | 1,763,070 | 1,159,763 | 1,817,881 | 1,210,980 | 1,240,754 | 1,870,887 | 1,847,829 | 1,856,578 | 1,878,065 |
LineString | equals | LineString | 619,477 | 763,990 | 625,824 | 63,915 | 63,797 | 327,089 | 64,116 | 756,953 | 80,428 | 756,008 |
LineString | intersects | LineString | 272,453 | 471,241 | 283,671 | 45,381 | 43,926 | 416,958 | 44,518 | 12,201 | 35,603 | 459,026 |
LineString | overlaps | LineString | 270,569 | 454,557 | 268,580 | 37,100 | 33,225 | 390,946 | 37,962 | 10,355 | 27,177 | 462,470 |
LineString | touches | LineString | 423,026 | 379,609 | 430,091 | 53,385 | 57,209 | 345,520 | 58,919 | 41,846 | 48,777 | 375,286 |
LineString | within | LineString | 424,308 | 44,585 | 430,166 | 49,865 | 49,201 | 39,215 | 50,009 | 25,598 | 34,428 | 44,077 |
LineString | coveredby | Polygon | ❌ | 49,583 | ❌ | 42,786 | 15,431 | ❌ | 15,303 | ❌ | 56,295 | 42,109 |
LineString | crosses | Polygon | ❌ | 29,145 | ❌ | 27,713 | 16,631 | ❌ | 16,580 | ❌ | 29,870 | 29,201 |
LineString | disjoint | Polygon | ❌ | 56,567 | ❌ | 42,930 | 14,314 | ❌ | 14,051 | ❌ | 27,291 | 56,721 |
LineString | intersects | Polygon | ❌ | 35,616 | ❌ | 29,823 | 13,904 | ❌ | 13,914 | ❌ | 32,649 | 35,069 |
LineString | touches | Polygon | ❌ | 29,618 | ❌ | 28,797 | 12,502 | ❌ | 12,515 | ❌ | 25,763 | 29,548 |
LineString | within | Polygon | ❌ | 71,157 | ❌ | 56,313 | 15,913 | ❌ | 16,000 | ❌ | 67,338 | 57,131 |
MultiPoint | coveredby | LineString | ❌ | 300,137 | ❌ | 190,506 | 364,405 | ❌ | 460,822 | ❌ | 352,163 | 194,850 |
MultiPoint | crosses | LineString | ❌ | 349,572 | ❌ | 252,761 | 356,264 | ❌ | 445,004 | ❌ | 458,659 | 352,162 |
MultiPoint | disjoint | LineString | ❌ | 1,113,891 | ❌ | 1,040,519 | 626,844 | ❌ | 1,045,568 | ❌ | 1,086,855 | 1,119,452 |
MultiPoint | intersects | LineString | ❌ | 472,459 | ❌ | 293,622 | 254,582 | ❌ | 296,277 | ❌ | 172,893 | 465,178 |
MultiPoint | touches | LineString | ❌ | 467,272 | ❌ | 293,511 | 256,039 | ❌ | 298,818 | ❌ | 171,793 | 463,885 |
MultiPoint | within | LineString | ❌ | 351,684 | ❌ | 259,671 | 380,512 | ❌ | 461,112 | ❌ | 470,963 | 251,440 |
MultiPoint | contains | MultiPoint | 281,376 | 353,199 | 318,561 | ❌ | 386,068 | 156,165 | 551,060 | 301,074 | ❌ | 393,067 |
MultiPoint | coveredby | MultiPoint | 295,169 | 380,827 | 305,074 | ❌ | 396,061 | 152,012 | 544,725 | 294,572 | ❌ | 391,302 |
MultiPoint | covers | MultiPoint | 303,619 | 372,870 | 300,767 | ❌ | 394,641 | 152,164 | 536,889 | 295,130 | ❌ | 389,448 |
MultiPoint | disjoint | MultiPoint | 556,592 | 985,370 | 565,456 | ❌ | 576,834 | 581,375 | 966,378 | 976,434 | ❌ | 962,441 |
MultiPoint | equals | MultiPoint | 415,772 | 541,083 | 407,372 | ❌ | 464,682 | 210,241 | 646,881 | 414,359 | ❌ | 537,355 |
MultiPoint | intersects | MultiPoint | 310,127 | 546,387 | 293,110 | ❌ | 322,067 | 368,676 | 422,143 | 208,771 | ❌ | 513,146 |
MultiPoint | overlaps | MultiPoint | 367,459 | 497,181 | 363,194 | ❌ | 318,906 | 362,705 | 407,270 | 242,126 | ❌ | 492,442 |
MultiPoint | within | MultiPoint | 286,272 | 361,890 | 280,655 | ❌ | 371,111 | 129,921 | 481,339 | 214,579 | ❌ | 317,229 |
MultiPoint | coveredby | Polygon | ❌ | 92,793 | ❌ | 66,995 | 192,061 | ❌ | 222,200 | ❌ | 221,383 | 77,139 |
MultiPoint | disjoint | Polygon | ❌ | 214,485 | ❌ | 103,435 | 97,357 | ❌ | 103,277 | ❌ | 55,003 | 220,994 |
MultiPoint | intersects | Polygon | ❌ | 213,962 | ❌ | 75,638 | 128,518 | ❌ | 139,044 | ❌ | 102,893 | 217,789 |
MultiPoint | touches | Polygon | ❌ | 144,748 | ❌ | 144,653 | 204,792 | ❌ | 227,447 | ❌ | 98,939 | 78,792 |
MultiPoint | within | Polygon | ❌ | 140,032 | ❌ | 98,817 | 203,930 | ❌ | 233,284 | ❌ | 231,144 | 101,114 |
Polygon | contains | Polygon | 285,371 | 187 | 280,372 | ❌ | 41,967 | 191 | 43,133 | 195 | 191 | 195 |
Polygon | coveredby | Polygon | 219,490 | 53 | 218,634 | ❌ | 53 | 53 | 54 | 53 | 226,625 | 53 |
Polygon | covers | Polygon | 191 | 305,541 | 191 | ❌ | 33,808 | 291,912 | 34,343 | 125 | 336 | 310,215 |
Polygon | disjoint | Polygon | 362,881 | 239,893 | 354,385 | ❌ | 12,200 | 222,793 | 12,579 | 40,085 | 12,986 | 248,739 |
Polygon | equals | Polygon | 150 | 155 | 149 | ❌ | 32,878 | 81 | 39,396 | 172 | 161 | 165 |
Polygon | intersects | Polygon | 400,309 | 108 | 397,768 | ❌ | 13,449 | 109 | 12,683 | 75 | 273,066 | 116 |
Polygon | overlaps | Polygon | 420,752 | 111 | 413,050 | ❌ | 13,634 | 115 | 13,720 | 76 | 275,597 | 115 |
Polygon | touches | Polygon | 414,684 | 496 | 409,453 | ❌ | 40,679 | 496 | 41,321 | 496 | 470 | 460 |
Polygon | within | Polygon | 236,097 | 57 | 235,829 | ❌ | 57 | 57 | 57 | 57 | 241,246 | 57 |