-
-
Notifications
You must be signed in to change notification settings - Fork 6
Simplify README even more #1492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark (linux/llvm)
Benchmark suite | Current: 3a2c47f | Previous: a03319d | Ratio |
---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.2361198926897163 ns/iter |
2.2108394908084903 ns/iter |
1.01 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.2062288852011047 ns/iter |
2.1789006681584557 ns/iter |
1.01 |
Regex_Period_Asterisk |
2.2212077548249187 ns/iter |
2.18305096988056 ns/iter |
1.02 |
Regex_Group_Period_Asterisk_Group |
2.187244772200321 ns/iter |
2.183817681368354 ns/iter |
1.00 |
Regex_Period_Plus |
2.7975629935200765 ns/iter |
2.7980311589210323 ns/iter |
1.00 |
Regex_Period |
2.84068346528269 ns/iter |
2.797951550349651 ns/iter |
1.02 |
Regex_Caret_Period_Plus_Dollar |
2.797924375365043 ns/iter |
2.7983778075718555 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.7996758906225843 ns/iter |
2.7464085773125118 ns/iter |
1.02 |
Regex_Caret_Period_Asterisk_Dollar |
2.200409646063812 ns/iter |
2.4876862716767665 ns/iter |
0.88 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.2370770086583938 ns/iter |
2.487592631939716 ns/iter |
0.90 |
Regex_Caret_X_Hyphen |
13.087921258257994 ns/iter |
12.51987950895026 ns/iter |
1.05 |
Regex_Period_Md_Dollar |
81.4072103441935 ns/iter |
81.65822190431628 ns/iter |
1.00 |
Regex_Caret_Slash_Period_Asterisk |
5.599422807159947 ns/iter |
6.849936078421474 ns/iter |
0.82 |
Regex_Caret_Period_Range_Dollar |
2.800979509610062 ns/iter |
4.040417177017533 ns/iter |
0.69 |
Regex_Nested_Backtrack |
506.98914253020996 ns/iter |
504.6840500320302 ns/iter |
1.00 |
JSON_Array_Of_Objects_Unique |
408.55302872103107 ns/iter |
409.46931055514324 ns/iter |
1.00 |
JSON_Parse_1 |
30412.532994703408 ns/iter |
30537.45712921843 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
58.47951162997249 ns/iter |
58.444520250816815 ns/iter |
1.00 |
JSON_Equality_Helm_Chart_Lock |
149.95886901636146 ns/iter |
163.87001253153116 ns/iter |
0.92 |
JSON_String_Equal/10 |
6.542319008603166 ns/iter |
7.4611600534743445 ns/iter |
0.88 |
JSON_String_Equal/100 |
7.155686077335041 ns/iter |
8.103839591567633 ns/iter |
0.88 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9346236979924455 ns/iter |
0.9344158907995163 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
10.259014213368244 ns/iter |
10.258242309093424 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
2.4891758645212154 ns/iter |
2.4939351666730474 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
2.488599869894683 ns/iter |
2.489765936439025 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
2.177399236834173 ns/iter |
2.179704631548387 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
1.867939963940773 ns/iter |
1.8701579790437612 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.735849566669175 ns/iter |
3.7378677863340912 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.734258332291016 ns/iter |
3.7375162997286777 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.7341478899282667 ns/iter |
3.7358238760745 ns/iter |
1.00 |
Pointer_Object_Traverse |
44.278429888784906 ns/iter |
44.57159539812479 ns/iter |
0.99 |
Pointer_Object_Try_Traverse |
52.54711598737117 ns/iter |
52.358282169834965 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
295.3724174174855 ns/iter |
345.8686613257165 ns/iter |
0.85 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark (windows/msvc)
Benchmark suite | Current: 3a2c47f | Previous: a03319d | Ratio |
---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
9.734192367257595 ns/iter |
6.865965401784889 ns/iter |
1.42 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
9.758392187499965 ns/iter |
7.252735491071353 ns/iter |
1.35 |
Regex_Period_Asterisk |
9.753354687500604 ns/iter |
6.94632924107097 ns/iter |
1.40 |
Regex_Group_Period_Asterisk_Group |
9.756143260017659 ns/iter |
6.924772321428614 ns/iter |
1.41 |
Regex_Period_Plus |
9.46295888632569 ns/iter |
7.21863504464285 ns/iter |
1.31 |
Regex_Period |
9.467326297021176 ns/iter |
7.246089285715129 ns/iter |
1.31 |
Regex_Caret_Period_Plus_Dollar |
9.465282547030588 ns/iter |
7.210183896381421 ns/iter |
1.31 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
9.457944600634573 ns/iter |
7.230632812498884 ns/iter |
1.31 |
Regex_Caret_Period_Asterisk_Dollar |
9.739794599376676 ns/iter |
7.052488839285331 ns/iter |
1.38 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
9.734420045828955 ns/iter |
7.168039062498568 ns/iter |
1.36 |
Regex_Caret_X_Hyphen |
14.263338552396906 ns/iter |
11.848919642858391 ns/iter |
1.20 |
Regex_Period_Md_Dollar |
149.8428794642998 ns/iter |
148.73767857146447 ns/iter |
1.01 |
Regex_Caret_Slash_Period_Asterisk |
10.48947656250121 ns/iter |
10.363962500000362 ns/iter |
1.01 |
Regex_Caret_Period_Range_Dollar |
7.486186573721811 ns/iter |
7.661562500000941 ns/iter |
0.98 |
Regex_Nested_Backtrack |
629.6947321428904 ns/iter |
617.6604464286584 ns/iter |
1.02 |
JSON_Array_Of_Objects_Unique |
455.7954671976412 ns/iter |
451.6074445553107 ns/iter |
1.01 |
JSON_Parse_1 |
82813.47098214757 ns/iter |
80218.88308558159 ns/iter |
1.03 |
JSON_Fast_Hash_Helm_Chart_Lock |
65.76874107143534 ns/iter |
68.19685267857827 ns/iter |
0.96 |
JSON_Equality_Helm_Chart_Lock |
194.48620113902027 ns/iter |
201.09095545455196 ns/iter |
0.97 |
JSON_String_Equal/10 |
9.617978125000093 ns/iter |
9.611128082091888 ns/iter |
1.00 |
JSON_String_Equal/100 |
9.918585223577637 ns/iter |
10.046943705145722 ns/iter |
0.99 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
2.1727981249998862 ns/iter |
2.190041250000263 ns/iter |
0.99 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
14.72055357142819 ns/iter |
14.754778695838608 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
3.7203485656156254 ns/iter |
3.7488197544645523 ns/iter |
0.99 |
JSON_String_Fast_Hash/100 |
3.718677314788044 ns/iter |
3.7313244576233164 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
7.749282554690491 ns/iter |
7.6545089285724135 ns/iter |
1.01 |
JSON_String_Key_Hash/100 |
4.0210567036090215 ns/iter |
4.035029962562829 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.731445529050879 ns/iter |
3.7245989450732195 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.7268255290587344 ns/iter |
3.76222392185337 ns/iter |
0.99 |
JSON_Object_Defines_Miss_Too_Large |
4.970808000000488 ns/iter |
5.026629999999841 ns/iter |
0.99 |
Pointer_Object_Traverse |
52.76676999999381 ns/iter |
53.03770535714339 ns/iter |
0.99 |
Pointer_Object_Try_Traverse |
68.0031026785726 ns/iter |
68.20866964285902 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
162.89252232142917 ns/iter |
188.10390072355744 ns/iter |
0.87 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark (macos/llvm)
Benchmark suite | Current: 3a2c47f | Previous: a03319d | Ratio |
---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.6834841427936686 ns/iter |
2.359439903746205 ns/iter |
0.71 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.788764544877304 ns/iter |
2.171360300362049 ns/iter |
0.82 |
Regex_Period_Asterisk |
1.8208340047707545 ns/iter |
2.2326952996441163 ns/iter |
0.82 |
Regex_Group_Period_Asterisk_Group |
1.8811974005419914 ns/iter |
1.9972954677003754 ns/iter |
0.94 |
Regex_Period_Plus |
2.0098236452357026 ns/iter |
2.3265591234916005 ns/iter |
0.86 |
Regex_Period |
2.211831911092294 ns/iter |
2.4219171984709527 ns/iter |
0.91 |
Regex_Caret_Period_Plus_Dollar |
2.1766868423956343 ns/iter |
2.359749712545609 ns/iter |
0.92 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.2378354725444947 ns/iter |
2.1352822649316896 ns/iter |
1.05 |
Regex_Caret_Period_Asterisk_Dollar |
1.7524264126899254 ns/iter |
2.0931438409196392 ns/iter |
0.84 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.9663753479613204 ns/iter |
2.2038631063352567 ns/iter |
0.89 |
Regex_Caret_X_Hyphen |
8.015941639845861 ns/iter |
9.56624281250717 ns/iter |
0.84 |
Regex_Period_Md_Dollar |
84.59704657485581 ns/iter |
80.34666197796727 ns/iter |
1.05 |
Regex_Caret_Slash_Period_Asterisk |
6.768377727007999 ns/iter |
6.129682977140709 ns/iter |
1.10 |
Regex_Caret_Period_Range_Dollar |
2.5189040325891066 ns/iter |
2.6113228181090906 ns/iter |
0.96 |
Regex_Nested_Backtrack |
1018.0667144278907 ns/iter |
844.0449047539735 ns/iter |
1.21 |
JSON_Array_Of_Objects_Unique |
402.84153113024684 ns/iter |
380.27700696688066 ns/iter |
1.06 |
JSON_Parse_1 |
25016.91023018081 ns/iter |
25355.016422706507 ns/iter |
0.99 |
JSON_Fast_Hash_Helm_Chart_Lock |
58.82381958512787 ns/iter |
54.0236775340477 ns/iter |
1.09 |
JSON_Equality_Helm_Chart_Lock |
137.48960483831382 ns/iter |
134.49495535106246 ns/iter |
1.02 |
JSON_String_Equal/10 |
8.545471154645627 ns/iter |
8.305302751841463 ns/iter |
1.03 |
JSON_String_Equal/100 |
6.560919757114677 ns/iter |
6.836269026276113 ns/iter |
0.96 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.34303176800526763 ns/iter |
0.3766908137025292 ns/iter |
0.91 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.7246090643526926 ns/iter |
3.355291277015263 ns/iter |
1.11 |
JSON_String_Fast_Hash/10 |
2.288782517967197 ns/iter |
1.8606840705844192 ns/iter |
1.23 |
JSON_String_Fast_Hash/100 |
2.079335428663733 ns/iter |
2.322312489094655 ns/iter |
0.90 |
JSON_String_Key_Hash/10 |
1.4697998822967844 ns/iter |
1.5116080648555634 ns/iter |
0.97 |
JSON_String_Key_Hash/100 |
1.4916795937670504 ns/iter |
1.4501479345237078 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Same_Length |
2.516522671037511 ns/iter |
2.6929201347901452 ns/iter |
0.93 |
JSON_Object_Defines_Miss_Too_Small |
3.0864724886171517 ns/iter |
2.5774364210222194 ns/iter |
1.20 |
JSON_Object_Defines_Miss_Too_Large |
2.8147244714997477 ns/iter |
2.4237190194371814 ns/iter |
1.16 |
Pointer_Object_Traverse |
19.78440607250976 ns/iter |
17.76642908244213 ns/iter |
1.11 |
Pointer_Object_Try_Traverse |
25.08805285026984 ns/iter |
24.356672276037603 ns/iter |
1.03 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
204.75084926871995 ns/iter |
197.38758949496787 ns/iter |
1.04 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark (linux/gcc)
Benchmark suite | Current: 3a2c47f | Previous: a03319d | Ratio |
---|---|---|---|
Pointer_Object_Traverse |
52.35584508826014 ns/iter |
49.16450821820135 ns/iter |
1.06 |
Pointer_Object_Try_Traverse |
26.526022728868877 ns/iter |
26.467257704072704 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
144.85791231488062 ns/iter |
143.95171935104347 ns/iter |
1.01 |
JSON_Array_Of_Objects_Unique |
427.4548031631944 ns/iter |
426.9227006705325 ns/iter |
1.00 |
JSON_Parse_1 |
34225.820516581065 ns/iter |
33684.34300028726 ns/iter |
1.02 |
JSON_Fast_Hash_Helm_Chart_Lock |
69.58496873115068 ns/iter |
68.88124173795326 ns/iter |
1.01 |
JSON_Equality_Helm_Chart_Lock |
140.9274402602775 ns/iter |
144.65165624605538 ns/iter |
0.97 |
JSON_String_Equal/10 |
5.991368118069638 ns/iter |
6.082893609077382 ns/iter |
0.98 |
JSON_String_Equal/100 |
6.61032595575408 ns/iter |
6.610477878484417 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.6228143729659893 ns/iter |
0.6240997270649936 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
14.28530828992 ns/iter |
14.29082411472038 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
0.9350816427754215 ns/iter |
0.9328125879885107 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
0.9341422217352655 ns/iter |
0.9350728133761819 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
1.7125408775154713 ns/iter |
1.7122818900184684 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
2.0279680302077088 ns/iter |
2.024177174334585 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.1632736849182557 ns/iter |
3.1118761056741864 ns/iter |
1.02 |
JSON_Object_Defines_Miss_Too_Small |
2.7990575864021263 ns/iter |
2.801317883761255 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
2.492673036852905 ns/iter |
2.4903101638054554 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
2.7986098309446925 ns/iter |
2.799534577655293 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.796850300849555 ns/iter |
2.797976234288363 ns/iter |
1.00 |
Regex_Period_Asterisk |
2.810829340444935 ns/iter |
2.798875099407723 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
2.7999042073150977 ns/iter |
2.8009036642936453 ns/iter |
1.00 |
Regex_Period_Plus |
3.4291711741695896 ns/iter |
3.4218760700219706 ns/iter |
1.00 |
Regex_Period |
3.4318536158719066 ns/iter |
3.4234128323269086 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
3.4284187833206596 ns/iter |
3.42180286045312 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.4320260360448263 ns/iter |
3.4213978110002605 ns/iter |
1.00 |
Regex_Caret_Period_Asterisk_Dollar |
4.0396622536289595 ns/iter |
4.0398292040416965 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.0393490938843 ns/iter |
4.041135160550024 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
13.049857717931856 ns/iter |
12.433151112448211 ns/iter |
1.05 |
Regex_Period_Md_Dollar |
94.76273904467345 ns/iter |
93.95893547763863 ns/iter |
1.01 |
Regex_Caret_Slash_Period_Asterisk |
7.556472700745058 ns/iter |
6.528721334991597 ns/iter |
1.16 |
Regex_Caret_Period_Range_Dollar |
3.7596052790795036 ns/iter |
4.351555813619017 ns/iter |
0.86 |
Regex_Nested_Backtrack |
829.6940599422497 ns/iter |
826.2021786553929 ns/iter |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark (macos/gcc)
Benchmark suite | Current: 3a2c47f | Previous: a03319d | Ratio |
---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.2966531384752247 ns/iter |
2.7983595926291285 ns/iter |
0.82 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.2817808730815266 ns/iter |
2.9289608364277693 ns/iter |
0.78 |
Regex_Period_Asterisk |
2.1336483050536152 ns/iter |
2.690688733582172 ns/iter |
0.79 |
Regex_Group_Period_Asterisk_Group |
2.098582519968477 ns/iter |
2.791487374009105 ns/iter |
0.75 |
Regex_Period_Plus |
1.9701561695848082 ns/iter |
2.2375182619239715 ns/iter |
0.88 |
Regex_Period |
1.8831942302352014 ns/iter |
2.3642151014833765 ns/iter |
0.80 |
Regex_Caret_Period_Plus_Dollar |
1.9441856775160435 ns/iter |
2.392316963627823 ns/iter |
0.81 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.0603392677360426 ns/iter |
2.1996964337171274 ns/iter |
0.94 |
Regex_Caret_Period_Asterisk_Dollar |
2.269892696661545 ns/iter |
2.5025595281084976 ns/iter |
0.91 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.461842142033249 ns/iter |
2.6596624662557646 ns/iter |
0.93 |
Regex_Caret_X_Hyphen |
6.975399962764687 ns/iter |
7.451776614304587 ns/iter |
0.94 |
Regex_Period_Md_Dollar |
82.41963398238046 ns/iter |
87.47202414111246 ns/iter |
0.94 |
Regex_Caret_Slash_Period_Asterisk |
5.273935918338577 ns/iter |
5.391657804852589 ns/iter |
0.98 |
Regex_Caret_Period_Range_Dollar |
2.281399777903587 ns/iter |
2.52889273058107 ns/iter |
0.90 |
Regex_Nested_Backtrack |
960.1717619673485 ns/iter |
1158.9030498235893 ns/iter |
0.83 |
JSON_Array_Of_Objects_Unique |
243.68789896680238 ns/iter |
292.91318326669125 ns/iter |
0.83 |
JSON_Parse_1 |
28661.835558191593 ns/iter |
35017.9387754344 ns/iter |
0.82 |
JSON_Fast_Hash_Helm_Chart_Lock |
26.13961963674065 ns/iter |
31.802487782654318 ns/iter |
0.82 |
JSON_Equality_Helm_Chart_Lock |
140.61852676290425 ns/iter |
157.9048818962297 ns/iter |
0.89 |
JSON_String_Equal/10 |
6.1395512023247765 ns/iter |
7.49350355262558 ns/iter |
0.82 |
JSON_String_Equal/100 |
6.372214292527104 ns/iter |
7.550058573125443 ns/iter |
0.84 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.0926506414415593 ns/iter |
1.4660575753113896 ns/iter |
0.75 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
4.146234984877649 ns/iter |
4.683385615438262 ns/iter |
0.89 |
JSON_String_Fast_Hash/10 |
2.1083768040912827 ns/iter |
2.508562861208083 ns/iter |
0.84 |
JSON_String_Fast_Hash/100 |
2.1535599858430308 ns/iter |
2.517574461058276 ns/iter |
0.86 |
JSON_String_Key_Hash/10 |
1.6285791156923781 ns/iter |
2.0024037396989516 ns/iter |
0.81 |
JSON_String_Key_Hash/100 |
2.152309729617153 ns/iter |
2.491118370248562 ns/iter |
0.86 |
JSON_Object_Defines_Miss_Same_Length |
2.0948126149506097 ns/iter |
2.5115639789301105 ns/iter |
0.83 |
JSON_Object_Defines_Miss_Too_Small |
2.175325051058908 ns/iter |
2.585175118637691 ns/iter |
0.84 |
JSON_Object_Defines_Miss_Too_Large |
2.1168414295053637 ns/iter |
2.29935530331651 ns/iter |
0.92 |
Pointer_Object_Traverse |
67.93262795083818 ns/iter |
66.20535408624788 ns/iter |
1.03 |
Pointer_Object_Try_Traverse |
42.28738839204426 ns/iter |
44.36734626076721 ns/iter |
0.95 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
186.41576259762354 ns/iter |
212.9278645860231 ns/iter |
0.88 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com