/ Check-in [fb520e71]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Small performance optimization in the JSON parser of Geopoly.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: fb520e71035258d5490be33ee28575df2caefa5d5a301c8bbdf1471551c96282
User & Date: drh 2018-09-27 23:57:45
Context
2018-09-28
00:16
Rig geopoly to use sqlite3AtoF() if it is available, as that routine is much faster than atof(). check-in: 470c6c07 user: drh tags: trunk
2018-09-27
23:57
Small performance optimization in the JSON parser of Geopoly. check-in: fb520e71 user: drh tags: trunk
20:37
Enhance the GeoPOLY extension so that it always stores its polygons in the binary format, which is faster and more compact. check-in: dc35f7b1 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ext/rtree/geopoly.c.

134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
  t = a[1];
  a[1] = a[2];
  a[2] = t;
}

/* Skip whitespace.  Return the next non-whitespace character. */
static char geopolySkipSpace(GeoParse *p){
  while( p->z[0] && safe_isspace(p->z[0]) ) p->z++;
  return p->z[0];
}

/* Parse out a number.  Write the value into *pVal if pVal!=0.
** return non-zero on success and zero if the next token is not a number.
*/
static int geopolyParseNumber(GeoParse *p, GeoCoord *pVal){







|







134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
  t = a[1];
  a[1] = a[2];
  a[2] = t;
}

/* Skip whitespace.  Return the next non-whitespace character. */
static char geopolySkipSpace(GeoParse *p){
  while( safe_isspace(p->z[0]) ) p->z++;
  return p->z[0];
}

/* Parse out a number.  Write the value into *pVal if pVal!=0.
** return non-zero on success and zero if the next token is not a number.
*/
static int geopolyParseNumber(GeoParse *p, GeoCoord *pVal){