Skip to content

Jelly-SPARQL benchmarks

The following results were obtained by benchmarking Jelly-JVM 4.0.0 against the SPARQL query results formats built into Apache Jena and Eclipse RDF4J. For RDF serialization, see Jelly-RDF benchmarks.

The charts are interactive – hover over them for details.

Benchmark setup

The same datasets, hardware, software, and method were used as in the Jelly-RDF benchmarks. Each of the 13 datasets was turned into a single SPARQL result set with one row per statement. Throughput is given in cells (bound values) per second.

Tested methods

  • SPARQL Query Results XML Format (SRX) (Apache Jena, Eclipse RDF4J)
  • SPARQL Query Results JSON Format (SRJ) (Apache Jena, Eclipse RDF4J)
  • SPARQL Query Results TSV Format (Apache Jena, Eclipse RDF4J)
    • CSV was not tested, because it does not preserve datatypes or language tags.
  • Jena's binary result formats, Protobuf and Thrift (Apache Jena)
  • RDF4J Binary query results format (Eclipse RDF4J)
  • Jelly-SPARQL (Jelly-JVM 4.0.0, "big" preset)
    max_name_table_size = 8192;
    max_prefix_table_size = 1024;
    max_datatype_table_size = 64;
    

Results

Throughput

Throughput, geometric mean over 10 datasets. Log scale.

  • ‡ RDF4J's TSV parser runs on a thread pool, so this uses more than one core
Data behind this chart
LibraryOperationFormatThroughput (cells/s, geomean)Slowest datasetFastest datasetDatasetsNotes
JenaWriteJelly52,217,61034,983,11888,078,29410
JenaWriteProtobuf10,866,9659,408,29211,802,52210
JenaWriteThrift7,268,8287,036,2757,539,22010
JenaWriteTSV6,861,7305,761,3867,741,21010
JenaWriteSRX (XML)412,878379,967453,16410
JenaWriteSRJ (JSON)265,040241,616299,70310
RDF4JWriteJelly37,725,09627,200,16351,568,04910
RDF4JWriteTSV16,442,58612,253,66218,773,34910
RDF4JWriteBinary13,198,23410,890,49715,795,29310
RDF4JWriteSRJ (JSON)7,021,8696,134,7427,612,66510
RDF4JWriteSRX (XML)1,318,4741,290,8781,376,27810
JenaReadJelly92,863,19651,764,198139,279,34510
JenaReadProtobuf5,930,3345,385,5496,982,67210
JenaReadSRJ (JSON)5,555,4325,044,0706,206,00710
JenaReadThrift5,543,3195,311,6285,684,63610
JenaReadTSV3,899,4502,922,2924,767,01610
JenaReadSRX (XML)2,656,8842,329,7772,898,22710
RDF4JReadJelly88,652,41362,005,604116,655,10110
RDF4JReadBinary25,655,35120,774,52232,700,97910
RDF4JReadSRJ (JSON)5,766,2855,215,9956,164,24610
RDF4JReadTSV4,034,7073,647,1924,977,36610‡
RDF4JReadSRX (XML)2,664,6602,392,5622,827,87510

Throughput and serialized size

Serialized size (uncompressed) against throughput, geometric mean over 10 datasets. Log scale. Top left is better.

  • ‡ RDF4J's TSV parser runs on a thread pool, so this uses more than one core
Data behind this chart
LibraryOperationFormatThroughput (cells/s, geomean)Size (bytes/row, raw)zstdNotes
JenaWriteJelly52,217,61021.23.58
JenaWriteTSV6,861,730216.98.4
JenaWriteThrift7,268,828226.38.53
JenaWriteProtobuf10,866,965229.37.88
JenaWriteSRJ (JSON)265,040382.48.99
JenaWriteSRX (XML)412,878442.59.21
RDF4JWriteJelly37,725,09621.23.58
RDF4JWriteBinary13,198,23461.64.38
RDF4JWriteTSV16,442,586216.88.41
RDF4JWriteSRX (XML)1,318,474405.79.06
RDF4JWriteSRJ (JSON)7,021,869477.89.36
JenaReadJelly92,863,19621.23.58
JenaReadTSV3,899,450216.98.4
JenaReadThrift5,543,319226.38.53
JenaReadProtobuf5,930,334229.37.88
JenaReadSRJ (JSON)5,555,432382.48.99
JenaReadSRX (XML)2,656,884442.59.21
RDF4JReadJelly88,652,41321.23.58
RDF4JReadBinary25,655,35161.64.38
RDF4JReadTSV4,034,707216.88.41‡
RDF4JReadSRX (XML)2,664,660405.79.06
RDF4JReadSRJ (JSON)5,766,285477.89.36

Throughput per dataset

Throughput on each dataset, in cells/s.

  • † not lossless on this dataset; left out of averages
  • ‡ RDF4J's TSV parser runs on a thread pool, so this uses more than one core
  • § the 3 sweeps differ by more than 10%
Data behind this chart
LibraryOperationDatasetFormatThroughput (cells/s, median)Run minRun maxNotes
JenaWriteassist-iot-weatherJelly61,558,46360,596,76662,002,836
JenaWriteassist-iot-weatherProtobuf11,523,02311,185,78011,583,059
JenaWriteassist-iot-weatherSRJ (JSON)274,876272,548276,890
JenaWriteassist-iot-weatherSRX (XML)430,325427,355431,070
JenaWriteassist-iot-weatherTSV7,228,1027,201,0187,275,331
JenaWriteassist-iot-weatherThrift7,220,4737,208,3267,232,812
JenaWriteassist-iot-weather-graphsJelly88,078,29487,133,93292,395,600
JenaWriteassist-iot-weather-graphsProtobuf11,802,52211,769,88811,961,929
JenaWriteassist-iot-weather-graphsSRJ (JSON)285,396280,793286,328
JenaWriteassist-iot-weather-graphsSRX (XML)452,260449,849455,173
JenaWriteassist-iot-weather-graphsTSV7,741,2107,679,6817,745,206
JenaWriteassist-iot-weather-graphsThrift7,521,8517,332,8407,544,066
JenaWritecitypulse-trafficJelly52,679,79651,954,92654,946,577
JenaWritecitypulse-trafficProtobuf10,523,81510,495,94311,874,343§
JenaWritecitypulse-trafficSRJ (JSON)243,055242,096250,711
JenaWritecitypulse-trafficSRX (XML)381,411373,248391,501
JenaWritecitypulse-trafficTSV6,612,6246,595,7626,636,721
JenaWritecitypulse-trafficThrift7,189,2067,171,6057,224,029
JenaWritecitypulse-traffic-graphsJelly59,687,05756,013,17162,835,226§
JenaWritecitypulse-traffic-graphsProtobuf10,623,58510,615,76610,659,872
JenaWritecitypulse-traffic-graphsSRJ (JSON)241,616239,519241,940
JenaWritecitypulse-traffic-graphsSRX (XML)379,967377,796385,628
JenaWritecitypulse-traffic-graphsTSV6,187,2036,059,1996,187,436
JenaWritecitypulse-traffic-graphsThrift7,446,0697,430,9847,457,732
JenaWritedbpedia-liveJelly24,886,12724,815,74726,121,596
JenaWritedbpedia-liveProtobuf10,217,75410,071,72210,223,249
JenaWritedbpedia-liveSRJ (JSON)295,133295,038297,686
JenaWritedbpedia-liveSRX (XML)456,854456,343463,178
JenaWritedbpedia-liveTSV8,678,1878,643,6248,683,920
JenaWritedbpedia-liveThrift6,796,1986,643,7506,826,386
JenaWritedigital-agenda-indicatorsJelly72,332,05170,262,87972,506,795
JenaWritedigital-agenda-indicatorsProtobuf10,711,66210,549,07310,784,051
JenaWritedigital-agenda-indicatorsSRJ (JSON)232,680230,716233,557
JenaWritedigital-agenda-indicatorsSRX (XML)373,661371,641374,230
JenaWritedigital-agenda-indicatorsTSV5,842,9485,825,0075,852,640
JenaWritedigital-agenda-indicatorsThrift7,306,5767,209,9437,334,722
JenaWritelinked-spendingJelly48,818,80748,779,33849,785,981
JenaWritelinked-spendingProtobuf9,408,2929,401,9969,938,336
JenaWritelinked-spendingSRJ (JSON)246,310245,972246,331
JenaWritelinked-spendingSRX (XML)386,766385,060389,995
JenaWritelinked-spendingTSV5,761,3865,743,8285,793,710
JenaWritelinked-spendingThrift7,175,9327,150,6297,176,484
JenaWritelod-katrinaJelly48,756,54848,085,70549,316,220
JenaWritelod-katrinaProtobuf10,830,37910,783,69611,030,530
JenaWritelod-katrinaSRJ (JSON)264,883264,763265,504
JenaWritelod-katrinaSRX (XML)409,695401,598412,258
JenaWritelod-katrinaTSV6,816,2186,785,3336,839,986
JenaWritelod-katrinaThrift7,338,9297,290,6707,374,466
JenaWritemuziekwebJelly36,758,83236,685,86236,836,719
JenaWritemuziekwebProtobuf11,073,00411,042,87511,103,542
JenaWritemuziekwebSRJ (JSON)299,703298,339300,811
JenaWritemuziekwebSRX (XML)453,164445,949453,643
JenaWritemuziekwebTSV7,456,2087,437,6587,459,656
JenaWritemuziekwebThrift7,036,2757,013,4357,056,161
JenaWritenanopubsJelly56,521,59555,328,98756,765,972
JenaWritenanopubsProtobuf11,049,14610,936,29711,242,479
JenaWritenanopubsSRJ (JSON)243,062240,572244,528
JenaWritenanopubsSRX (XML)387,531382,394387,563
JenaWritenanopubsTSV6,338,9656,318,5886,341,955
JenaWritenanopubsThrift7,539,2207,528,5017,556,887
JenaWriteofficegraphJelly51,101,56850,662,03451,183,901
JenaWriteofficegraphProtobuf11,629,64011,511,19911,809,578
JenaWriteofficegraphSRJ (JSON)282,344279,245283,089
JenaWriteofficegraphSRX (XML)439,543437,427441,740
JenaWriteofficegraphTSV7,604,3217,588,4697,626,484
JenaWriteofficegraphThrift7,080,9887,076,8387,126,599
JenaWriteopenaire-lodJelly34,983,11834,688,76535,463,401
JenaWriteopenaire-lodProtobuf10,417,94910,292,51110,430,898
JenaWriteopenaire-lodSRJ (JSON)276,681276,405277,719
JenaWriteopenaire-lodSRX (XML)417,270417,263428,522
JenaWriteopenaire-lodTSV7,160,9037,159,1947,165,335
JenaWriteopenaire-lodThrift7,159,3097,155,2677,197,115
JenaWriteosm2rdf-denmarkJelly42,289,28641,651,37442,462,249
JenaWriteosm2rdf-denmarkProtobuf10,656,36810,556,39410,680,754
JenaWriteosm2rdf-denmarkSRJ (JSON)302,406295,925303,645
JenaWriteosm2rdf-denmarkSRX (XML)464,602462,197468,196
JenaWriteosm2rdf-denmarkTSV8,861,8988,858,6208,881,698
JenaWriteosm2rdf-denmarkThrift7,079,3587,029,9807,116,877
RDF4JWriteassist-iot-weatherBinary13,325,25613,182,70613,356,793
RDF4JWriteassist-iot-weatherJelly44,893,35143,482,82444,945,632
RDF4JWriteassist-iot-weatherSRJ (JSON)7,345,9357,341,8867,365,967
RDF4JWriteassist-iot-weatherSRX (XML)1,306,4041,302,9821,321,027
RDF4JWriteassist-iot-weatherTSV18,311,42518,296,92518,438,456
RDF4JWriteassist-iot-weather-graphsBinary15,795,29315,647,15016,021,093
RDF4JWriteassist-iot-weather-graphsJelly51,568,04951,414,52951,829,781
RDF4JWriteassist-iot-weather-graphsSRJ (JSON)7,612,6657,576,5137,772,028
RDF4JWriteassist-iot-weather-graphsSRX (XML)1,358,7461,356,1881,372,934
RDF4JWriteassist-iot-weather-graphsTSV18,673,86318,519,52218,923,559
RDF4JWritecitypulse-trafficBinary13,473,84913,466,73213,486,842
RDF4JWritecitypulse-trafficJelly37,817,19937,765,89038,113,659
RDF4JWritecitypulse-trafficSRJ (JSON)6,975,5846,910,7006,997,972
RDF4JWritecitypulse-trafficSRX (XML)1,296,3591,294,5541,310,040
RDF4JWritecitypulse-trafficTSV17,069,00817,028,58317,094,032
RDF4JWritecitypulse-traffic-graphsBinary15,731,15715,664,13915,777,878
RDF4JWritecitypulse-traffic-graphsJelly41,687,75541,569,33042,394,776
RDF4JWritecitypulse-traffic-graphsSRJ (JSON)7,127,5036,929,7887,143,338
RDF4JWritecitypulse-traffic-graphsSRX (XML)1,365,2691,363,8271,377,802
RDF4JWritecitypulse-traffic-graphsTSV17,547,73717,533,09217,696,355
RDF4JWritedbpedia-liveBinary10,561,78410,485,53410,859,010
RDF4JWritedbpedia-liveJelly22,408,31022,025,17522,687,311
RDF4JWritedbpedia-liveSRJ (JSON)7,112,7697,102,8467,143,044
RDF4JWritedbpedia-liveSRX (XML)1,257,0131,250,9831,263,297
RDF4JWritedbpedia-liveTSV14,655,99514,625,65514,895,843†
RDF4JWritedigital-agenda-indicatorsBinary12,987,37212,946,12213,538,567
RDF4JWritedigital-agenda-indicatorsJelly44,955,50044,045,53945,260,126
RDF4JWritedigital-agenda-indicatorsSRJ (JSON)6,950,2856,914,5616,961,644
RDF4JWritedigital-agenda-indicatorsSRX (XML)1,318,9541,303,1661,334,997
RDF4JWritedigital-agenda-indicatorsTSV19,029,39718,889,99919,130,697†
RDF4JWritelinked-spendingBinary11,912,24811,559,04712,123,652
RDF4JWritelinked-spendingJelly38,572,80236,361,83338,661,105
RDF4JWritelinked-spendingSRJ (JSON)6,304,7886,270,9336,372,121
RDF4JWritelinked-spendingSRX (XML)1,290,9191,280,7701,301,576
RDF4JWritelinked-spendingTSV14,214,47914,120,10014,222,941
RDF4JWritelod-katrinaBinary12,797,04312,751,40712,854,922
RDF4JWritelod-katrinaJelly36,480,12336,298,12836,584,004
RDF4JWritelod-katrinaSRJ (JSON)7,160,7887,130,6417,203,667
RDF4JWritelod-katrinaSRX (XML)1,308,6451,306,2921,317,055
RDF4JWritelod-katrinaTSV18,773,34918,546,88319,111,535
RDF4JWritemuziekwebBinary10,890,49710,401,43211,413,469
RDF4JWritemuziekwebJelly27,200,16327,130,48928,308,380
RDF4JWritemuziekwebSRJ (JSON)6,134,7426,123,6066,150,874
RDF4JWritemuziekwebSRX (XML)1,298,1121,269,9911,306,938
RDF4JWritemuziekwebTSV12,253,66212,207,82112,288,939
RDF4JWritenanopubsBinary15,080,98814,937,55215,451,330
RDF4JWritenanopubsJelly37,625,08937,424,24442,110,856§
RDF4JWritenanopubsSRJ (JSON)7,139,7067,057,9367,192,193
RDF4JWritenanopubsSRX (XML)1,376,2781,362,3381,397,389
RDF4JWritenanopubsTSV18,065,62717,793,35418,072,309
RDF4JWriteofficegraphBinary13,086,29312,873,70813,156,609
RDF4JWriteofficegraphJelly38,728,59138,023,03138,763,480
RDF4JWriteofficegraphSRJ (JSON)7,469,5237,456,9197,475,816
RDF4JWriteofficegraphSRX (XML)1,296,9731,293,2471,297,303
RDF4JWriteofficegraphTSV17,476,91617,354,04617,602,434
RDF4JWriteopenaire-lodBinary10,972,48510,941,48610,972,636
RDF4JWriteopenaire-lodJelly28,683,01028,594,30228,760,424
RDF4JWriteopenaire-lodSRJ (JSON)7,096,1837,084,4047,103,866
RDF4JWriteopenaire-lodSRX (XML)1,290,8781,273,8351,292,084
RDF4JWriteopenaire-lodTSV13,660,26313,560,41413,703,313
RDF4JWriteosm2rdf-denmarkBinary14,443,26914,441,60114,587,766
RDF4JWriteosm2rdf-denmarkJelly32,173,48331,353,49232,446,537
RDF4JWriteosm2rdf-denmarkSRJ (JSON)7,567,5427,494,5737,572,749
RDF4JWriteosm2rdf-denmarkSRX (XML)1,306,2481,303,6811,306,626
RDF4JWriteosm2rdf-denmarkTSV16,238,19816,229,64016,460,921†
JenaReadassist-iot-weatherJelly116,113,600116,020,238120,322,526
JenaReadassist-iot-weatherProtobuf5,730,8395,716,1266,018,416
JenaReadassist-iot-weatherSRJ (JSON)5,605,3925,603,4355,717,432
JenaReadassist-iot-weatherSRX (XML)2,802,3972,799,9992,808,462
JenaReadassist-iot-weatherTSV4,438,4094,417,0744,528,765
JenaReadassist-iot-weatherThrift5,641,5865,527,3265,685,500
JenaReadassist-iot-weather-graphsJelly139,279,345135,338,658141,583,817
JenaReadassist-iot-weather-graphsProtobuf6,982,6726,810,8707,051,090
JenaReadassist-iot-weather-graphsSRJ (JSON)6,206,0076,200,7676,257,233
JenaReadassist-iot-weather-graphsSRX (XML)2,898,2272,878,9712,908,510
JenaReadassist-iot-weather-graphsTSV4,767,0164,731,0234,767,909
JenaReadassist-iot-weather-graphsThrift5,684,6365,671,9995,739,212
JenaReadcitypulse-trafficJelly102,739,55296,612,614102,999,313
JenaReadcitypulse-trafficProtobuf5,875,9955,793,8455,930,232
JenaReadcitypulse-trafficSRJ (JSON)5,471,1335,464,4845,510,145
JenaReadcitypulse-trafficSRX (XML)2,763,3182,758,3292,773,061
JenaReadcitypulse-trafficTSV3,761,6373,616,5213,773,459
JenaReadcitypulse-trafficThrift5,455,7605,442,5515,473,650
JenaReadcitypulse-traffic-graphsJelly113,297,020113,104,892113,837,881
JenaReadcitypulse-traffic-graphsProtobuf6,440,8436,427,2426,481,464
JenaReadcitypulse-traffic-graphsSRJ (JSON)5,854,8585,809,1995,896,525
JenaReadcitypulse-traffic-graphsSRX (XML)2,808,6052,796,4422,812,459
JenaReadcitypulse-traffic-graphsTSV3,776,7723,772,6293,805,331
JenaReadcitypulse-traffic-graphsThrift5,600,1445,581,5185,603,187
JenaReaddbpedia-liveJelly49,580,41849,209,19749,754,651
JenaReaddbpedia-liveProtobuf5,402,3645,320,5125,458,900
JenaReaddbpedia-liveSRJ (JSON)5,114,3385,089,6295,129,420
JenaReaddbpedia-liveSRX (XML)2,329,5102,322,8992,335,672
JenaReaddbpedia-liveTSV3,305,6903,298,2623,346,639
JenaReaddbpedia-liveThrift5,055,7165,038,5055,056,349
JenaReaddigital-agenda-indicatorsJelly139,444,984139,142,799140,230,133
JenaReaddigital-agenda-indicatorsProtobuf6,110,0055,695,3226,125,077
JenaReaddigital-agenda-indicatorsSRJ (JSON)5,442,9755,432,8675,480,585
JenaReaddigital-agenda-indicatorsSRX (XML)2,740,5402,722,2232,748,900
JenaReaddigital-agenda-indicatorsTSV3,738,6503,710,7563,759,478
JenaReaddigital-agenda-indicatorsThrift5,526,3875,511,0205,551,602
JenaReadlinked-spendingJelly77,561,69177,441,32477,634,794
JenaReadlinked-spendingProtobuf5,567,0555,547,5595,692,092
JenaReadlinked-spendingSRJ (JSON)5,044,0705,043,3145,073,286
JenaReadlinked-spendingSRX (XML)2,329,7772,312,1782,334,970
JenaReadlinked-spendingTSV3,478,3423,454,0243,480,440
JenaReadlinked-spendingThrift5,433,8335,422,4435,460,972
JenaReadlod-katrinaJelly113,415,695113,403,046116,662,348
JenaReadlod-katrinaProtobuf6,038,4556,025,0506,054,472
JenaReadlod-katrinaSRJ (JSON)5,663,9965,659,4495,683,057
JenaReadlod-katrinaSRX (XML)2,794,7662,782,3872,809,986
JenaReadlod-katrinaTSV4,226,7104,159,6964,268,819
JenaReadlod-katrinaThrift5,631,8085,533,1335,726,061
JenaReadmuziekwebJelly52,145,66551,085,37752,198,478
JenaReadmuziekwebProtobuf5,385,5495,239,8125,504,434
JenaReadmuziekwebSRJ (JSON)5,202,0335,184,8365,227,749
JenaReadmuziekwebSRX (XML)2,352,5102,345,0682,363,500
JenaReadmuziekwebTSV3,476,6892,954,2383,543,239§
JenaReadmuziekwebThrift5,311,6285,296,2065,356,634
JenaReadnanopubsJelly118,403,567118,013,727118,509,246
JenaReadnanopubsProtobuf6,126,8775,995,8646,785,770§
JenaReadnanopubsSRJ (JSON)5,749,7705,729,0855,796,884
JenaReadnanopubsSRX (XML)2,711,4632,694,2972,730,881
JenaReadnanopubsTSV3,845,4283,836,4733,876,038
JenaReadnanopubsThrift5,669,0045,667,3415,695,471
JenaReadofficegraphJelly90,110,90889,298,53990,417,386
JenaReadofficegraphProtobuf5,730,8805,689,4165,781,015
JenaReadofficegraphSRJ (JSON)5,511,1715,492,2165,525,059
JenaReadofficegraphSRX (XML)2,773,5092,765,7582,778,351
JenaReadofficegraphTSV4,708,1844,703,4104,708,687
JenaReadofficegraphThrift5,472,9375,403,7665,490,301
JenaReadopenaire-lodJelly51,764,19851,612,82852,156,079
JenaReadopenaire-lodProtobuf5,588,3815,276,4485,604,121
JenaReadopenaire-lodSRJ (JSON)5,335,7465,299,0955,360,403
JenaReadopenaire-lodSRX (XML)2,413,8882,407,1642,433,153
JenaReadopenaire-lodTSV2,922,2922,912,8372,940,947
JenaReadopenaire-lodThrift5,544,1065,530,3865,609,542
JenaReadosm2rdf-denmarkJelly79,981,02379,684,33780,143,122
JenaReadosm2rdf-denmarkProtobuf5,589,5365,585,6195,604,906
JenaReadosm2rdf-denmarkSRJ (JSON)5,813,2805,808,5545,872,539
JenaReadosm2rdf-denmarkSRX (XML)2,458,0952,456,3452,459,464
JenaReadosm2rdf-denmarkTSV4,723,8863,509,5624,740,738§
JenaReadosm2rdf-denmarkThrift5,477,2735,475,9205,479,263
RDF4JReadassist-iot-weatherBinary25,396,11025,060,60827,462,892
RDF4JReadassist-iot-weatherJelly105,374,008103,971,310107,102,406
RDF4JReadassist-iot-weatherSRJ (JSON)5,883,7955,830,2615,947,042
RDF4JReadassist-iot-weatherSRX (XML)2,713,4072,692,3952,825,251
RDF4JReadassist-iot-weatherTSV3,796,0643,719,7153,815,031‡
RDF4JReadassist-iot-weather-graphsBinary32,700,97931,203,28532,913,997
RDF4JReadassist-iot-weather-graphsJelly116,655,101115,568,397117,877,236
RDF4JReadassist-iot-weather-graphsSRJ (JSON)6,164,2466,161,7796,215,085
RDF4JReadassist-iot-weather-graphsSRX (XML)2,782,7702,779,3252,915,850
RDF4JReadassist-iot-weather-graphsTSV4,977,3664,865,0694,990,882‡
RDF4JReadcitypulse-trafficBinary25,320,52725,032,43025,392,192
RDF4JReadcitypulse-trafficJelly85,637,43185,037,63092,415,735
RDF4JReadcitypulse-trafficSRJ (JSON)5,613,6245,597,0855,668,533
RDF4JReadcitypulse-trafficSRX (XML)2,738,8822,589,6812,768,273
RDF4JReadcitypulse-trafficTSV3,720,1643,697,5443,756,008‡
RDF4JReadcitypulse-traffic-graphsBinary32,319,54331,636,87532,381,413
RDF4JReadcitypulse-traffic-graphsJelly95,553,69795,327,26395,890,083
RDF4JReadcitypulse-traffic-graphsSRJ (JSON)5,690,0785,689,4855,733,594
RDF4JReadcitypulse-traffic-graphsSRX (XML)2,827,8752,683,8032,846,875
RDF4JReadcitypulse-traffic-graphsTSV4,732,9304,667,8874,739,296‡
RDF4JReaddbpedia-liveBinary19,344,04019,340,14020,173,874
RDF4JReaddbpedia-liveJelly52,628,34752,614,70852,814,049
RDF4JReaddbpedia-liveSRJ (JSON)5,888,3145,878,4735,925,608
RDF4JReaddbpedia-liveSRX (XML)2,346,6762,340,2212,355,208
RDF4JReaddbpedia-liveTSV3,455,0943,305,4673,468,805†‡
RDF4JReaddigital-agenda-indicatorsBinary26,384,81626,356,12326,456,213
RDF4JReaddigital-agenda-indicatorsJelly120,377,719119,823,928120,714,877
RDF4JReaddigital-agenda-indicatorsSRJ (JSON)5,454,8735,452,2705,493,201
RDF4JReaddigital-agenda-indicatorsSRX (XML)2,599,3952,587,2002,727,811
RDF4JReaddigital-agenda-indicatorsTSV3,774,7343,724,9843,796,564†‡
RDF4JReadlinked-spendingBinary22,337,63121,990,70222,377,853
RDF4JReadlinked-spendingJelly83,235,38882,901,98683,439,482
RDF4JReadlinked-spendingSRJ (JSON)5,376,6715,372,6775,384,790
RDF4JReadlinked-spendingSRX (XML)2,392,5622,379,1592,405,117
RDF4JReadlinked-spendingTSV3,801,6633,769,8453,818,926‡
RDF4JReadlod-katrinaBinary25,278,13425,047,68027,098,322
RDF4JReadlod-katrinaJelly99,189,11599,014,88899,340,465
RDF4JReadlod-katrinaSRJ (JSON)5,796,0465,745,4945,833,793
RDF4JReadlod-katrinaSRX (XML)2,805,1832,668,2332,835,661
RDF4JReadlod-katrinaTSV3,829,4233,802,6583,837,564‡
RDF4JReadmuziekwebBinary21,165,00921,129,72321,299,578
RDF4JReadmuziekwebJelly62,005,60461,815,13662,219,224
RDF4JReadmuziekwebSRJ (JSON)5,215,9955,195,0135,233,525
RDF4JReadmuziekwebSRX (XML)2,409,2342,381,1662,419,340
RDF4JReadmuziekwebTSV3,647,1923,642,7713,738,759‡
RDF4JReadnanopubsBinary30,992,04430,888,52031,105,018
RDF4JReadnanopubsJelly104,685,498104,175,003105,050,671
RDF4JReadnanopubsSRJ (JSON)5,880,3085,830,6665,907,960
RDF4JReadnanopubsSRX (XML)2,827,4842,812,8562,843,434
RDF4JReadnanopubsTSV4,573,7874,528,1604,631,608‡
RDF4JReadofficegraphBinary23,622,82423,310,29123,640,106
RDF4JReadofficegraphJelly89,389,59489,257,94589,458,716
RDF4JReadofficegraphSRJ (JSON)6,013,2895,887,7846,030,646
RDF4JReadofficegraphSRX (XML)2,779,1542,697,6622,807,067
RDF4JReadofficegraphTSV3,741,4443,735,6953,746,691‡
RDF4JReadopenaire-lodBinary20,774,52220,735,19021,034,479
RDF4JReadopenaire-lodJelly62,227,27562,088,74062,272,412
RDF4JReadopenaire-lodSRJ (JSON)6,103,3426,021,4296,249,038
RDF4JReadopenaire-lodSRX (XML)2,428,7112,428,2082,440,103
RDF4JReadopenaire-lodTSV3,781,9393,761,3233,792,134‡
RDF4JReadosm2rdf-denmarkBinary26,317,00926,120,50026,457,884
RDF4JReadosm2rdf-denmarkJelly77,722,22777,004,15178,347,413
RDF4JReadosm2rdf-denmarkSRJ (JSON)6,276,8936,252,9686,308,715
RDF4JReadosm2rdf-denmarkSRX (XML)2,565,0982,524,4652,580,818
RDF4JReadosm2rdf-denmarkTSV3,648,2393,613,9643,668,237†‡

Throughput on each dataset (dots) and the geometric mean over 10 datasets (bar). Log scale. Hollow dots: not lossless, left out of the mean.

  • † not lossless on this dataset; left out of averages
  • ‡ RDF4J's TSV parser runs on a thread pool, so this uses more than one core
  • § the 3 sweeps differ by more than 10%
Data behind this chart
LibraryOperationFormatDatasetThroughput (cells/s, median)Notes
JenaWriteJellyassist-iot-weather61,558,463
JenaWriteJellyassist-iot-weather-graphs88,078,294
JenaWriteJellycitypulse-traffic52,679,796
JenaWriteJellycitypulse-traffic-graphs59,687,057§
JenaWriteJellydbpedia-live24,886,127
JenaWriteJellydigital-agenda-indicators72,332,051
JenaWriteJellylinked-spending48,818,807
JenaWriteJellylod-katrina48,756,548
JenaWriteJellymuziekweb36,758,832
JenaWriteJellynanopubs56,521,595
JenaWriteJellyofficegraph51,101,568
JenaWriteJellyopenaire-lod34,983,118
JenaWriteJellyosm2rdf-denmark42,289,286
JenaWriteProtobufassist-iot-weather11,523,023
JenaWriteProtobufassist-iot-weather-graphs11,802,522
JenaWriteProtobufcitypulse-traffic10,523,815§
JenaWriteProtobufcitypulse-traffic-graphs10,623,585
JenaWriteProtobufdbpedia-live10,217,754
JenaWriteProtobufdigital-agenda-indicators10,711,662
JenaWriteProtobuflinked-spending9,408,292
JenaWriteProtobuflod-katrina10,830,379
JenaWriteProtobufmuziekweb11,073,004
JenaWriteProtobufnanopubs11,049,146
JenaWriteProtobufofficegraph11,629,640
JenaWriteProtobufopenaire-lod10,417,949
JenaWriteProtobufosm2rdf-denmark10,656,368
JenaWriteSRJ (JSON)assist-iot-weather274,876
JenaWriteSRJ (JSON)assist-iot-weather-graphs285,396
JenaWriteSRJ (JSON)citypulse-traffic243,055
JenaWriteSRJ (JSON)citypulse-traffic-graphs241,616
JenaWriteSRJ (JSON)dbpedia-live295,133
JenaWriteSRJ (JSON)digital-agenda-indicators232,680
JenaWriteSRJ (JSON)linked-spending246,310
JenaWriteSRJ (JSON)lod-katrina264,883
JenaWriteSRJ (JSON)muziekweb299,703
JenaWriteSRJ (JSON)nanopubs243,062
JenaWriteSRJ (JSON)officegraph282,344
JenaWriteSRJ (JSON)openaire-lod276,681
JenaWriteSRJ (JSON)osm2rdf-denmark302,406
JenaWriteSRX (XML)assist-iot-weather430,325
JenaWriteSRX (XML)assist-iot-weather-graphs452,260
JenaWriteSRX (XML)citypulse-traffic381,411
JenaWriteSRX (XML)citypulse-traffic-graphs379,967
JenaWriteSRX (XML)dbpedia-live456,854
JenaWriteSRX (XML)digital-agenda-indicators373,661
JenaWriteSRX (XML)linked-spending386,766
JenaWriteSRX (XML)lod-katrina409,695
JenaWriteSRX (XML)muziekweb453,164
JenaWriteSRX (XML)nanopubs387,531
JenaWriteSRX (XML)officegraph439,543
JenaWriteSRX (XML)openaire-lod417,270
JenaWriteSRX (XML)osm2rdf-denmark464,602
JenaWriteTSVassist-iot-weather7,228,102
JenaWriteTSVassist-iot-weather-graphs7,741,210
JenaWriteTSVcitypulse-traffic6,612,624
JenaWriteTSVcitypulse-traffic-graphs6,187,203
JenaWriteTSVdbpedia-live8,678,187
JenaWriteTSVdigital-agenda-indicators5,842,948
JenaWriteTSVlinked-spending5,761,386
JenaWriteTSVlod-katrina6,816,218
JenaWriteTSVmuziekweb7,456,208
JenaWriteTSVnanopubs6,338,965
JenaWriteTSVofficegraph7,604,321
JenaWriteTSVopenaire-lod7,160,903
JenaWriteTSVosm2rdf-denmark8,861,898
JenaWriteThriftassist-iot-weather7,220,473
JenaWriteThriftassist-iot-weather-graphs7,521,851
JenaWriteThriftcitypulse-traffic7,189,206
JenaWriteThriftcitypulse-traffic-graphs7,446,069
JenaWriteThriftdbpedia-live6,796,198
JenaWriteThriftdigital-agenda-indicators7,306,576
JenaWriteThriftlinked-spending7,175,932
JenaWriteThriftlod-katrina7,338,929
JenaWriteThriftmuziekweb7,036,275
JenaWriteThriftnanopubs7,539,220
JenaWriteThriftofficegraph7,080,988
JenaWriteThriftopenaire-lod7,159,309
JenaWriteThriftosm2rdf-denmark7,079,358
RDF4JWriteBinaryassist-iot-weather13,325,256
RDF4JWriteBinaryassist-iot-weather-graphs15,795,293
RDF4JWriteBinarycitypulse-traffic13,473,849
RDF4JWriteBinarycitypulse-traffic-graphs15,731,157
RDF4JWriteBinarydbpedia-live10,561,784
RDF4JWriteBinarydigital-agenda-indicators12,987,372
RDF4JWriteBinarylinked-spending11,912,248
RDF4JWriteBinarylod-katrina12,797,043
RDF4JWriteBinarymuziekweb10,890,497
RDF4JWriteBinarynanopubs15,080,988
RDF4JWriteBinaryofficegraph13,086,293
RDF4JWriteBinaryopenaire-lod10,972,485
RDF4JWriteBinaryosm2rdf-denmark14,443,269
RDF4JWriteJellyassist-iot-weather44,893,351
RDF4JWriteJellyassist-iot-weather-graphs51,568,049
RDF4JWriteJellycitypulse-traffic37,817,199
RDF4JWriteJellycitypulse-traffic-graphs41,687,755
RDF4JWriteJellydbpedia-live22,408,310
RDF4JWriteJellydigital-agenda-indicators44,955,500
RDF4JWriteJellylinked-spending38,572,802
RDF4JWriteJellylod-katrina36,480,123
RDF4JWriteJellymuziekweb27,200,163
RDF4JWriteJellynanopubs37,625,089§
RDF4JWriteJellyofficegraph38,728,591
RDF4JWriteJellyopenaire-lod28,683,010
RDF4JWriteJellyosm2rdf-denmark32,173,483
RDF4JWriteSRJ (JSON)assist-iot-weather7,345,935
RDF4JWriteSRJ (JSON)assist-iot-weather-graphs7,612,665
RDF4JWriteSRJ (JSON)citypulse-traffic6,975,584
RDF4JWriteSRJ (JSON)citypulse-traffic-graphs7,127,503
RDF4JWriteSRJ (JSON)dbpedia-live7,112,769
RDF4JWriteSRJ (JSON)digital-agenda-indicators6,950,285
RDF4JWriteSRJ (JSON)linked-spending6,304,788
RDF4JWriteSRJ (JSON)lod-katrina7,160,788
RDF4JWriteSRJ (JSON)muziekweb6,134,742
RDF4JWriteSRJ (JSON)nanopubs7,139,706
RDF4JWriteSRJ (JSON)officegraph7,469,523
RDF4JWriteSRJ (JSON)openaire-lod7,096,183
RDF4JWriteSRJ (JSON)osm2rdf-denmark7,567,542
RDF4JWriteSRX (XML)assist-iot-weather1,306,404
RDF4JWriteSRX (XML)assist-iot-weather-graphs1,358,746
RDF4JWriteSRX (XML)citypulse-traffic1,296,359
RDF4JWriteSRX (XML)citypulse-traffic-graphs1,365,269
RDF4JWriteSRX (XML)dbpedia-live1,257,013
RDF4JWriteSRX (XML)digital-agenda-indicators1,318,954
RDF4JWriteSRX (XML)linked-spending1,290,919
RDF4JWriteSRX (XML)lod-katrina1,308,645
RDF4JWriteSRX (XML)muziekweb1,298,112
RDF4JWriteSRX (XML)nanopubs1,376,278
RDF4JWriteSRX (XML)officegraph1,296,973
RDF4JWriteSRX (XML)openaire-lod1,290,878
RDF4JWriteSRX (XML)osm2rdf-denmark1,306,248
RDF4JWriteTSVassist-iot-weather18,311,425
RDF4JWriteTSVassist-iot-weather-graphs18,673,863
RDF4JWriteTSVcitypulse-traffic17,069,008
RDF4JWriteTSVcitypulse-traffic-graphs17,547,737
RDF4JWriteTSVdbpedia-live14,655,995†
RDF4JWriteTSVdigital-agenda-indicators19,029,397†
RDF4JWriteTSVlinked-spending14,214,479
RDF4JWriteTSVlod-katrina18,773,349
RDF4JWriteTSVmuziekweb12,253,662
RDF4JWriteTSVnanopubs18,065,627
RDF4JWriteTSVofficegraph17,476,916
RDF4JWriteTSVopenaire-lod13,660,263
RDF4JWriteTSVosm2rdf-denmark16,238,198†
JenaReadJellyassist-iot-weather116,113,600
JenaReadJellyassist-iot-weather-graphs139,279,345
JenaReadJellycitypulse-traffic102,739,552
JenaReadJellycitypulse-traffic-graphs113,297,020
JenaReadJellydbpedia-live49,580,418
JenaReadJellydigital-agenda-indicators139,444,984
JenaReadJellylinked-spending77,561,691
JenaReadJellylod-katrina113,415,695
JenaReadJellymuziekweb52,145,665
JenaReadJellynanopubs118,403,567
JenaReadJellyofficegraph90,110,908
JenaReadJellyopenaire-lod51,764,198
JenaReadJellyosm2rdf-denmark79,981,023
JenaReadProtobufassist-iot-weather5,730,839
JenaReadProtobufassist-iot-weather-graphs6,982,672
JenaReadProtobufcitypulse-traffic5,875,995
JenaReadProtobufcitypulse-traffic-graphs6,440,843
JenaReadProtobufdbpedia-live5,402,364
JenaReadProtobufdigital-agenda-indicators6,110,005
JenaReadProtobuflinked-spending5,567,055
JenaReadProtobuflod-katrina6,038,455
JenaReadProtobufmuziekweb5,385,549
JenaReadProtobufnanopubs6,126,877§
JenaReadProtobufofficegraph5,730,880
JenaReadProtobufopenaire-lod5,588,381
JenaReadProtobufosm2rdf-denmark5,589,536
JenaReadSRJ (JSON)assist-iot-weather5,605,392
JenaReadSRJ (JSON)assist-iot-weather-graphs6,206,007
JenaReadSRJ (JSON)citypulse-traffic5,471,133
JenaReadSRJ (JSON)citypulse-traffic-graphs5,854,858
JenaReadSRJ (JSON)dbpedia-live5,114,338
JenaReadSRJ (JSON)digital-agenda-indicators5,442,975
JenaReadSRJ (JSON)linked-spending5,044,070
JenaReadSRJ (JSON)lod-katrina5,663,996
JenaReadSRJ (JSON)muziekweb5,202,033
JenaReadSRJ (JSON)nanopubs5,749,770
JenaReadSRJ (JSON)officegraph5,511,171
JenaReadSRJ (JSON)openaire-lod5,335,746
JenaReadSRJ (JSON)osm2rdf-denmark5,813,280
JenaReadSRX (XML)assist-iot-weather2,802,397
JenaReadSRX (XML)assist-iot-weather-graphs2,898,227
JenaReadSRX (XML)citypulse-traffic2,763,318
JenaReadSRX (XML)citypulse-traffic-graphs2,808,605
JenaReadSRX (XML)dbpedia-live2,329,510
JenaReadSRX (XML)digital-agenda-indicators2,740,540
JenaReadSRX (XML)linked-spending2,329,777
JenaReadSRX (XML)lod-katrina2,794,766
JenaReadSRX (XML)muziekweb2,352,510
JenaReadSRX (XML)nanopubs2,711,463
JenaReadSRX (XML)officegraph2,773,509
JenaReadSRX (XML)openaire-lod2,413,888
JenaReadSRX (XML)osm2rdf-denmark2,458,095
JenaReadTSVassist-iot-weather4,438,409
JenaReadTSVassist-iot-weather-graphs4,767,016
JenaReadTSVcitypulse-traffic3,761,637
JenaReadTSVcitypulse-traffic-graphs3,776,772
JenaReadTSVdbpedia-live3,305,690
JenaReadTSVdigital-agenda-indicators3,738,650
JenaReadTSVlinked-spending3,478,342
JenaReadTSVlod-katrina4,226,710
JenaReadTSVmuziekweb3,476,689§
JenaReadTSVnanopubs3,845,428
JenaReadTSVofficegraph4,708,184
JenaReadTSVopenaire-lod2,922,292
JenaReadTSVosm2rdf-denmark4,723,886§
JenaReadThriftassist-iot-weather5,641,586
JenaReadThriftassist-iot-weather-graphs5,684,636
JenaReadThriftcitypulse-traffic5,455,760
JenaReadThriftcitypulse-traffic-graphs5,600,144
JenaReadThriftdbpedia-live5,055,716
JenaReadThriftdigital-agenda-indicators5,526,387
JenaReadThriftlinked-spending5,433,833
JenaReadThriftlod-katrina5,631,808
JenaReadThriftmuziekweb5,311,628
JenaReadThriftnanopubs5,669,004
JenaReadThriftofficegraph5,472,937
JenaReadThriftopenaire-lod5,544,106
JenaReadThriftosm2rdf-denmark5,477,273
RDF4JReadBinaryassist-iot-weather25,396,110
RDF4JReadBinaryassist-iot-weather-graphs32,700,979
RDF4JReadBinarycitypulse-traffic25,320,527
RDF4JReadBinarycitypulse-traffic-graphs32,319,543
RDF4JReadBinarydbpedia-live19,344,040
RDF4JReadBinarydigital-agenda-indicators26,384,816
RDF4JReadBinarylinked-spending22,337,631
RDF4JReadBinarylod-katrina25,278,134
RDF4JReadBinarymuziekweb21,165,009
RDF4JReadBinarynanopubs30,992,044
RDF4JReadBinaryofficegraph23,622,824
RDF4JReadBinaryopenaire-lod20,774,522
RDF4JReadBinaryosm2rdf-denmark26,317,009
RDF4JReadJellyassist-iot-weather105,374,008
RDF4JReadJellyassist-iot-weather-graphs116,655,101
RDF4JReadJellycitypulse-traffic85,637,431
RDF4JReadJellycitypulse-traffic-graphs95,553,697
RDF4JReadJellydbpedia-live52,628,347
RDF4JReadJellydigital-agenda-indicators120,377,719
RDF4JReadJellylinked-spending83,235,388
RDF4JReadJellylod-katrina99,189,115
RDF4JReadJellymuziekweb62,005,604
RDF4JReadJellynanopubs104,685,498
RDF4JReadJellyofficegraph89,389,594
RDF4JReadJellyopenaire-lod62,227,275
RDF4JReadJellyosm2rdf-denmark77,722,227
RDF4JReadSRJ (JSON)assist-iot-weather5,883,795
RDF4JReadSRJ (JSON)assist-iot-weather-graphs6,164,246
RDF4JReadSRJ (JSON)citypulse-traffic5,613,624
RDF4JReadSRJ (JSON)citypulse-traffic-graphs5,690,078
RDF4JReadSRJ (JSON)dbpedia-live5,888,314
RDF4JReadSRJ (JSON)digital-agenda-indicators5,454,873
RDF4JReadSRJ (JSON)linked-spending5,376,671
RDF4JReadSRJ (JSON)lod-katrina5,796,046
RDF4JReadSRJ (JSON)muziekweb5,215,995
RDF4JReadSRJ (JSON)nanopubs5,880,308
RDF4JReadSRJ (JSON)officegraph6,013,289
RDF4JReadSRJ (JSON)openaire-lod6,103,342
RDF4JReadSRJ (JSON)osm2rdf-denmark6,276,893
RDF4JReadSRX (XML)assist-iot-weather2,713,407
RDF4JReadSRX (XML)assist-iot-weather-graphs2,782,770
RDF4JReadSRX (XML)citypulse-traffic2,738,882
RDF4JReadSRX (XML)citypulse-traffic-graphs2,827,875
RDF4JReadSRX (XML)dbpedia-live2,346,676
RDF4JReadSRX (XML)digital-agenda-indicators2,599,395
RDF4JReadSRX (XML)linked-spending2,392,562
RDF4JReadSRX (XML)lod-katrina2,805,183
RDF4JReadSRX (XML)muziekweb2,409,234
RDF4JReadSRX (XML)nanopubs2,827,484
RDF4JReadSRX (XML)officegraph2,779,154
RDF4JReadSRX (XML)openaire-lod2,428,711
RDF4JReadSRX (XML)osm2rdf-denmark2,565,098
RDF4JReadTSVassist-iot-weather3,796,064‡
RDF4JReadTSVassist-iot-weather-graphs4,977,366‡
RDF4JReadTSVcitypulse-traffic3,720,164‡
RDF4JReadTSVcitypulse-traffic-graphs4,732,930‡
RDF4JReadTSVdbpedia-live3,455,094†‡
RDF4JReadTSVdigital-agenda-indicators3,774,734†‡
RDF4JReadTSVlinked-spending3,801,663‡
RDF4JReadTSVlod-katrina3,829,423‡
RDF4JReadTSVmuziekweb3,647,192‡
RDF4JReadTSVnanopubs4,573,787‡
RDF4JReadTSVofficegraph3,741,444‡
RDF4JReadTSVopenaire-lod3,781,939‡
RDF4JReadTSVosm2rdf-denmark3,648,239†‡

Serialized size

Serialized size in bytes/row, uncompressed and with zstd, geometric mean over 10 datasets. Log scale.

Data behind this chart
LibraryFormatRaw (bytes/row)zstd
JenaJelly21.23.58
JenaTSV216.858.4
JenaThrift226.338.53
JenaProtobuf229.337.88
JenaSRJ (JSON)382.448.99
JenaSRX (XML)442.539.21
RDF4JJelly21.23.58
RDF4JBinary61.614.38
RDF4JTSV216.788.41
RDF4JSRX (XML)405.739.06
RDF4JSRJ (JSON)477.819.36

See also