You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the user (or, more likely, a system reader via writeValues) writes a symbol table or IVM, the writer should flush any previously buffered data to the output. This is a performance optimization, and should allow parity with Ion 1.0. Here's some data to support that, produced using the ion-java-benchmark-cli, which writes data using a system reader provided to IonWriter.writeValues.
Ion 1.0:
194 ms / op
Ion 1.1 - all symbols interned
710 ms / op
Ion 1.1 - all symbols inline
234 ms / op
Ion 1.1 - all symbols interned - forced flush every 500 values
175 ms / op
Ion 1.1 - all symbols inline - forced flush every 500 values
229 ms / op
The text was updated successfully, but these errors were encountered:
Update: we should still make sure this is being done, but it may not be the cause of the performance discrepancies noted. The benchmark CLI isn't currently doing a system write during the timed portion of the write benchmark; only during the one-time conversion performed before generating the write instructions or for read benchmarks that provide a different format as input. More investigation needed.
When the user (or, more likely, a system reader via writeValues) writes a symbol table or IVM, the writer should flush any previously buffered data to the output. This is a performance optimization, and should allow parity with Ion 1.0. Here's some data to support that, produced using the ion-java-benchmark-cli, which writes data using a system reader provided to IonWriter.writeValues.
Ion 1.0:
194 ms / op
Ion 1.1 - all symbols interned
710 ms / op
Ion 1.1 - all symbols inline
234 ms / op
Ion 1.1 - all symbols interned - forced flush every 500 values
175 ms / op
Ion 1.1 - all symbols inline - forced flush every 500 values
229 ms / op
The text was updated successfully, but these errors were encountered: