davidcsterratt / RTriangle

Port of the Triangle Two-Dimensional Quality Mesh Generator and Delaunay Triangulator to R
https://cran.r-project.org/package=RTriangle
9 stars 4 forks source link

use data.frame in anyDuplicated #8

Closed mdsumner closed 6 years ago

mdsumner commented 6 years ago

anyDuplicated().data.frame is faster than anyDuplicated.matrix()

For a simple example, creating the pslg takes more time than building the triangulation, but with this PR it's 3x faster.

library(RTriangle)
set.seed(98)
xy <- matrix(rnorm(1e6), ncol = 2)
system.time(sl1 <- pslg(xy))  # 10s
system.time(sl2 <- pslg2(xy))  # 3s

system.time(triangulate(sl1)) # 2s

as per https://github.com/davidcsterratt/RTriangle/issues/7

mdsumner commented 6 years ago

passes check in Ubuntu release and Windows devel. I haven't checked rev-deps, just because it's quite onerous for retistruct - but I'll report back if I do.