This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] benchtests: Improve readability of JSON output


On 8 April 2014 10:36, Florian Weimer <fweimer@redhat.com> wrote:
> On 04/08/2014 11:28 AM, Will Newton wrote:
>
>> +void
>> +json_attr_double (json_ctx_t *ctx, const char *name, double d)
>> +{
>> +  if (!ctx->first_element)
>> +    {
>> +      fprintf (ctx->fp, ",\n");
>> +    }
>> +
>> +  ctx->first_element = false;
>> +
>> +  do_indent (ctx);
>> +
>> +  fprintf (ctx->fp, "\"%s\": %g", name, d);
>> +}
>
>
> Since you posted this, I have to ask: Is there are concise way to implement
> this correctly, preserving the actual value of d in the output?

Not to my knowledge. I guess it wouldn't hurt to increase the
precision a bit though. Either way there are going to be values we
cannot support such as NaN and Inf.

> Getting this right is quite a challenge for other (real) JSON libraries.
> They are also affected by the locale issue.

Luckily we don't need to be 100% general here and we have quite a
narrow use case. The code currently behaves exactly as it did before
the library code was extracted out so this patch does not actually
change behaviour. If we find we need multiple API functions to do
specific output formats for different purposes within the benchmarks
then I don't see that as a big problem.

-- 
Will Newton
Toolchain Working Group, Linaro


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]