You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Joshua Haberman
526e430794
I think this may have reached the optimization limit.
-------------------------------------------------------------------------
Benchmark Time CPU Iterations
-------------------------------------------------------------------------
BM_ArenaOneAlloc 21 ns 21 ns 32994231
BM_ArenaInitialBlockOneAlloc 6 ns 6 ns 116318005
BM_ParseDescriptorNoHeap 3028 ns 3028 ns 231138 2.34354GB/s
BM_ParseDescriptor 3557 ns 3557 ns 196583 1.99498GB/s
BM_ParseDescriptorProto2NoArena 33228 ns 33226 ns 21196 218.688MB/s
BM_ParseDescriptorProto2WithArena 22863 ns 22861 ns 30666 317.831MB/s
BM_SerializeDescriptorProto2 5444 ns 5444 ns 127368 1.30348GB/s
BM_SerializeDescriptor 12509 ns 12508 ns 55816 580.914MB/s
$ perf stat bazel-bin/benchmark --benchmark_filter=BM_ParseDescriptorNoHeap
2020-10-08 14:07:06
Running bazel-bin/benchmark
Run on (72 X 3700 MHz CPU s)
CPU Caches:
L1 Data 32K (x36)
L1 Instruction 32K (x36)
L2 Unified 1024K (x36)
L3 Unified 25344K (x2)
----------------------------------------------------------------
Benchmark Time CPU Iterations
----------------------------------------------------------------
BM_ParseDescriptorNoHeap 3071 ns 3071 ns 227743 2.31094GB/s
Performance counter stats for 'bazel-bin/benchmark --benchmark_filter=BM_ParseDescriptorNoHeap':
1,050.22 msec task-clock # 0.978 CPUs utilized
4 context-switches # 0.004 K/sec
0 cpu-migrations # 0.000 K/sec
179 page-faults # 0.170 K/sec
3,875,796,334 cycles # 3.690 GHz
13,282,835,967 instructions # 3.43 insn per cycle
2,887,725,848 branches # 2749.627 M/sec
8,324,912 branch-misses # 0.29% of all branches
1.073924364 seconds time elapsed
1.042806000 seconds user
0.008021000 seconds sys
Profile:
23.96% benchmark benchmark [.] upb_prm_1bt_max192b
22.44% benchmark benchmark [.] fastdecode_dispatch
18.96% benchmark benchmark [.] upb_pss_1bt
14.20% benchmark benchmark [.] upb_psv4_1bt
8.33% benchmark benchmark [.] upb_prm_1bt_max64b
6.66% benchmark benchmark [.] upb_prm_1bt_max128b
1.29% benchmark benchmark [.] upb_psm_1bt_max64b
0.77% benchmark benchmark [.] fastdecode_generic
0.55% benchmark [kernel.kallsyms] [k] smp_call_function_single
0.42% benchmark [kernel.kallsyms] [k] _raw_spin_lock_irqsave
0.42% benchmark benchmark [.] upb_psm_1bt_max256b
0.31% benchmark benchmark [.] upb_psb1_1bt
0.21% benchmark benchmark [.] upb_plv4_5bv
0.14% benchmark benchmark [.] upb_psb1_2bt
0.12% benchmark benchmark [.] decode_longvarint64
0.08% benchmark [kernel.kallsyms] [k] vsnprintf
0.07% benchmark [kernel.kallsyms] [k] _raw_spin_lock
0.07% benchmark benchmark [.] _upb_msg_new
0.06% benchmark ld-2.31.so [.] check_match
|
4 years ago |
.. |
bindings
|
Added -Wextra and -Wshorten-64-to-32 and fixed resulting errors. (#289)
|
5 years ago |
json
|
Added -Wextra and -Wshorten-64-to-32 and fixed resulting errors. (#289)
|
5 years ago |
pb
|
Optimized binary encoder.
|
4 years ago |
decode.c
|
Optimized memset() with cutoff and fixed group & unknown message bugs.
|
4 years ago |
decode.h
|
I think this may have reached the optimization limit.
|
4 years ago |
decode_fast.c
|
I think this may have reached the optimization limit.
|
4 years ago |
def.c
|
Give all field parsers a generic table entry.
|
4 years ago |
def.h
|
Fixes for PHP. (#286)
|
5 years ago |
def.hpp
|
Separated C++ wrappers into separate files in a backward-compatible way. (#265)
|
5 years ago |
encode.c
|
Expanded benchmarking script and added one size opt to the encoder.
|
4 years ago |
encode.h
|
WIP.
|
6 years ago |
handlers-inl.h
|
More Blaze fixes.
|
6 years ago |
handlers.c
|
Added -Wextra and -Wshorten-64-to-32 and fixed resulting errors. (#289)
|
5 years ago |
handlers.h
|
Applied changes from google3.
|
5 years ago |
json_decode.c
|
JSON parser: Bugfix for float/double in quotes.
|
5 years ago |
json_decode.h
|
Changes to support import into google3 (#291)
|
5 years ago |
json_encode.c
|
Removed excess logging statement.
|
5 years ago |
json_encode.h
|
[json encoder] passes almost all conformance tests.
|
5 years ago |
msg.c
|
Donate/steal from arena to accelerate decoding.
|
4 years ago |
msg.h
|
Merge branch 'decode-arena' into fast-table
|
4 years ago |
port.c
|
Split port into its own target, add msg.h to :legacy_msg_reflection
|
5 years ago |
port_def.inc
|
Add UPB_NORETURN for MSC
|
4 years ago |
port_undef.inc
|
Fix divide by zero vs2019 compilation error #293 (#294)
|
5 years ago |
reflection.c
|
Added -Wextra and -Wshorten-64-to-32 and fixed resulting errors. (#289)
|
5 years ago |
reflection.h
|
Fixes for PHP. (#286)
|
5 years ago |
sink.c
|
Take sinks by value.
|
6 years ago |
sink.h
|
Changed endsubmsg handler to return the closure of the submessage.
|
5 years ago |
table.c
|
Removed unused push/pop functions.
|
4 years ago |
table.int.h
|
Removed unused push/pop functions.
|
4 years ago |
text_encode.c
|
Added -Wextra and -Wshorten-64-to-32 and fixed resulting errors. (#289)
|
5 years ago |
text_encode.h
|
Renamed textencode -> text_encode for greater readability. (#249)
|
5 years ago |
upb.c
|
Fixed memory leak that could occur after upb_arena_fuse().
|
5 years ago |
upb.h
|
Fixed binary encoding and decoding for big-endian machines.
|
4 years ago |
upb.hpp
|
Added test that should trigger a memory leak.
|
5 years ago |