-
-
Notifications
You must be signed in to change notification settings - Fork 3
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
Get rid of Noa in this project #1489
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: a33a521 | Previous: 73a59dc | Ratio |
---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.2671913741267264 ns/iter |
2.2297296607139843 ns/iter |
1.02 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.1984617682989858 ns/iter |
2.2184184842627857 ns/iter |
0.99 |
Regex_Period_Asterisk |
2.1971717324768987 ns/iter |
2.209116154986353 ns/iter |
0.99 |
Regex_Group_Period_Asterisk_Group |
2.220301360999423 ns/iter |
2.2057870643049498 ns/iter |
1.01 |
Regex_Period_Plus |
2.7997708877547867 ns/iter |
2.798646531146345 ns/iter |
1.00 |
Regex_Period |
2.7975215098422717 ns/iter |
2.7973622890630008 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
2.7980915256763628 ns/iter |
2.797103273261428 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.7983070313831835 ns/iter |
2.7972607578210456 ns/iter |
1.00 |
Regex_Caret_Period_Asterisk_Dollar |
3.4182779128436214 ns/iter |
2.8013222900643586 ns/iter |
1.22 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.420330239791967 ns/iter |
3.4179864453705693 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
7.146879544161574 ns/iter |
12.567774718154537 ns/iter |
0.57 |
Regex_Period_Md_Dollar |
81.86764990583536 ns/iter |
81.22990066993871 ns/iter |
1.01 |
Regex_Caret_Slash_Period_Asterisk |
5.718948094960386 ns/iter |
6.836181427241357 ns/iter |
0.84 |
Regex_Caret_Period_Range_Dollar |
2.801915341875546 ns/iter |
4.045049220448583 ns/iter |
0.69 |
Regex_Nested_Backtrack |
503.6336520846005 ns/iter |
502.02896299998656 ns/iter |
1.00 |
JSON_Array_Of_Objects_Unique |
409.69475906561496 ns/iter |
410.74159512435307 ns/iter |
1.00 |
JSON_Parse_1 |
30165.891057122404 ns/iter |
30179.499056523717 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
58.45318943685698 ns/iter |
58.495974627242205 ns/iter |
1.00 |
JSON_Equality_Helm_Chart_Lock |
153.85252014509118 ns/iter |
161.8180658527348 ns/iter |
0.95 |
JSON_String_Equal/10 |
8.079183814895131 ns/iter |
7.02916901173979 ns/iter |
1.15 |
JSON_String_Equal/100 |
6.539498035061772 ns/iter |
6.532754879492395 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9343682744881633 ns/iter |
0.9349516159786384 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
10.258492421381987 ns/iter |
14.604563285436134 ns/iter |
0.70 |
JSON_String_Fast_Hash/10 |
2.4881275264259193 ns/iter |
2.486907974391555 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
2.4884463726628425 ns/iter |
2.4895379599073655 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
2.1780754427133684 ns/iter |
2.69225809795205 ns/iter |
0.81 |
JSON_String_Key_Hash/100 |
1.8697845103685324 ns/iter |
1.904575502386304 ns/iter |
0.98 |
JSON_Object_Defines_Miss_Same_Length |
3.7331225809065356 ns/iter |
3.7347279547126124 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.7367251887602944 ns/iter |
3.7341593690866364 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.7341531774774466 ns/iter |
3.7322046854441844 ns/iter |
1.00 |
Pointer_Object_Traverse |
43.876509557106424 ns/iter |
43.97471622956669 ns/iter |
1.00 |
Pointer_Object_Try_Traverse |
52.336081507748275 ns/iter |
52.290123136798194 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
290.3114305148339 ns/iter |
290.38297564997816 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/llvm)
Benchmark suite | Current: a33a521 | Previous: c3f7d13 | Ratio |
---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.6851234933417 ns/iter |
2.494957021061062 ns/iter |
0.68 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.6718789987073448 ns/iter |
2.075127971530879 ns/iter |
0.81 |
Regex_Period_Asterisk |
1.690857516751416 ns/iter |
2.0601802426652203 ns/iter |
0.82 |
Regex_Group_Period_Asterisk_Group |
1.926754576575607 ns/iter |
2.242151665268885 ns/iter |
0.86 |
Regex_Period_Plus |
2.048501539018117 ns/iter |
2.5269916009839517 ns/iter |
0.81 |
Regex_Period |
2.1347637591414244 ns/iter |
2.5112614719182806 ns/iter |
0.85 |
Regex_Caret_Period_Plus_Dollar |
2.0320058922069246 ns/iter |
2.6750222956780845 ns/iter |
0.76 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.015948304722431 ns/iter |
2.5462592245250875 ns/iter |
0.79 |
Regex_Caret_Period_Asterisk_Dollar |
1.7620674121889646 ns/iter |
2.222477466630095 ns/iter |
0.79 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.8459790353713224 ns/iter |
2.028173310573809 ns/iter |
0.91 |
Regex_Caret_X_Hyphen |
7.297535891381401 ns/iter |
9.614149990548526 ns/iter |
0.76 |
Regex_Period_Md_Dollar |
78.09769327995554 ns/iter |
98.64739060716767 ns/iter |
0.79 |
Regex_Caret_Slash_Period_Asterisk |
5.933001038238913 ns/iter |
6.742438921858088 ns/iter |
0.88 |
Regex_Caret_Period_Range_Dollar |
2.452614686063409 ns/iter |
3.0774216089922564 ns/iter |
0.80 |
Regex_Nested_Backtrack |
827.1737875163715 ns/iter |
944.3422682348213 ns/iter |
0.88 |
JSON_Array_Of_Objects_Unique |
370.6024312195616 ns/iter |
414.7655569954979 ns/iter |
0.89 |
JSON_Parse_1 |
23020.945010587988 ns/iter |
29926.416327546922 ns/iter |
0.77 |
JSON_Fast_Hash_Helm_Chart_Lock |
54.82810830000062 ns/iter |
64.62216481032635 ns/iter |
0.85 |
JSON_Equality_Helm_Chart_Lock |
130.5215853795482 ns/iter |
162.56040403716747 ns/iter |
0.80 |
JSON_String_Equal/10 |
8.178522524953753 ns/iter |
11.982139638939037 ns/iter |
0.68 |
JSON_String_Equal/100 |
6.527861273968637 ns/iter |
8.285041226231394 ns/iter |
0.79 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.3592421805446578 ns/iter |
0.41381714940002867 ns/iter |
0.87 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.2516924594284546 ns/iter |
3.8433054999469176 ns/iter |
0.85 |
JSON_String_Fast_Hash/10 |
1.8982042613585075 ns/iter |
2.1888788725308927 ns/iter |
0.87 |
JSON_String_Fast_Hash/100 |
2.0879515738372585 ns/iter |
2.6001563817183952 ns/iter |
0.80 |
JSON_String_Key_Hash/10 |
1.4424337638409184 ns/iter |
1.541642183844547 ns/iter |
0.94 |
JSON_String_Key_Hash/100 |
1.3937349440658895 ns/iter |
1.6664660506620932 ns/iter |
0.84 |
JSON_Object_Defines_Miss_Same_Length |
2.4085544203903724 ns/iter |
2.7872262093033333 ns/iter |
0.86 |
JSON_Object_Defines_Miss_Too_Small |
2.4104430460556623 ns/iter |
3.0676584047911835 ns/iter |
0.79 |
JSON_Object_Defines_Miss_Too_Large |
2.3946263005592954 ns/iter |
2.946687232950357 ns/iter |
0.81 |
Pointer_Object_Traverse |
17.07399854993722 ns/iter |
21.08938453581296 ns/iter |
0.81 |
Pointer_Object_Try_Traverse |
23.840507770952765 ns/iter |
35.894195104321795 ns/iter |
0.66 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
193.80013096305586 ns/iter |
255.78165865882337 ns/iter |
0.76 |
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: a33a521 | Previous: c3f7d13 | Ratio |
---|---|---|---|
Pointer_Object_Traverse |
51.692052086436085 ns/iter |
50.407436701162275 ns/iter |
1.03 |
Pointer_Object_Try_Traverse |
26.548602973523963 ns/iter |
26.503382566553746 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
137.24148823143148 ns/iter |
137.481482759377 ns/iter |
1.00 |
JSON_Array_Of_Objects_Unique |
406.0029295065402 ns/iter |
406.40633940533536 ns/iter |
1.00 |
JSON_Parse_1 |
33846.13093975893 ns/iter |
33831.722454872855 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
64.21724261929282 ns/iter |
64.26943168596114 ns/iter |
1.00 |
JSON_Equality_Helm_Chart_Lock |
142.08150348472557 ns/iter |
141.75240778884836 ns/iter |
1.00 |
JSON_String_Equal/10 |
5.987257770158403 ns/iter |
5.991053185782867 ns/iter |
1.00 |
JSON_String_Equal/100 |
6.612529151858992 ns/iter |
6.622040803091287 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.6248224217565983 ns/iter |
0.6240244357175735 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
14.292205858649185 ns/iter |
14.289600592500387 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
0.932363994933872 ns/iter |
0.933688650752307 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
0.9322294077598392 ns/iter |
0.9353421456905343 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
1.7102822278544625 ns/iter |
1.7109706281516923 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
2.0281739474169918 ns/iter |
2.022307888395911 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.1113672097365423 ns/iter |
3.108705834736169 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
2.8000223719544866 ns/iter |
2.7970593573310065 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
2.485965495928372 ns/iter |
2.492997143290285 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
2.797181402749804 ns/iter |
2.795593014691357 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.7973163628198874 ns/iter |
2.7979446433239326 ns/iter |
1.00 |
Regex_Period_Asterisk |
2.7975798952237727 ns/iter |
2.797047577895719 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
2.7987547471734415 ns/iter |
2.796649479813564 ns/iter |
1.00 |
Regex_Period_Plus |
3.1081537421741836 ns/iter |
3.4260232155751535 ns/iter |
0.91 |
Regex_Period |
3.1073668844260354 ns/iter |
3.428785697228287 ns/iter |
0.91 |
Regex_Caret_Period_Plus_Dollar |
3.108776947898591 ns/iter |
3.4216687945916147 ns/iter |
0.91 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.113137142565495 ns/iter |
3.4203252030456803 ns/iter |
0.91 |
Regex_Caret_Period_Asterisk_Dollar |
2.7973075657085604 ns/iter |
4.042263261094652 ns/iter |
0.69 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.7977045858923253 ns/iter |
4.042110671077007 ns/iter |
0.69 |
Regex_Caret_X_Hyphen |
12.43379641948518 ns/iter |
12.432320677600773 ns/iter |
1.00 |
Regex_Period_Md_Dollar |
93.67108382430717 ns/iter |
93.87024886846018 ns/iter |
1.00 |
Regex_Caret_Slash_Period_Asterisk |
6.220785153144202 ns/iter |
6.527690958930233 ns/iter |
0.95 |
Regex_Caret_Period_Range_Dollar |
3.4195505770641588 ns/iter |
4.349436998871858 ns/iter |
0.79 |
Regex_Nested_Backtrack |
825.1956788908234 ns/iter |
825.7030197705104 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 (windows/msvc)
Benchmark suite | Current: a33a521 | Previous: c3f7d13 | Ratio |
---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
7.070944196428794 ns/iter |
7.508713392858064 ns/iter |
0.94 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
7.387499967017147 ns/iter |
7.11468638392887 ns/iter |
1.04 |
Regex_Period_Asterisk |
7.148776785714159 ns/iter |
6.978803571427201 ns/iter |
1.02 |
Regex_Group_Period_Asterisk_Group |
6.927765624999336 ns/iter |
6.983318080356429 ns/iter |
0.99 |
Regex_Period_Plus |
7.627062500001256 ns/iter |
7.218214285714453 ns/iter |
1.06 |
Regex_Period |
7.348619419642282 ns/iter |
7.591947544643825 ns/iter |
0.97 |
Regex_Caret_Period_Plus_Dollar |
7.147055803571334 ns/iter |
7.731741929770602 ns/iter |
0.92 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
7.369007109958468 ns/iter |
7.175816964285327 ns/iter |
1.03 |
Regex_Caret_Period_Asterisk_Dollar |
7.430371841826682 ns/iter |
7.130583928571354 ns/iter |
1.04 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
8.13587388392989 ns/iter |
6.918321397686153 ns/iter |
1.18 |
Regex_Caret_X_Hyphen |
11.89258214285717 ns/iter |
11.74122656250276 ns/iter |
1.01 |
Regex_Period_Md_Dollar |
164.17866947621704 ns/iter |
148.63101568613277 ns/iter |
1.10 |
Regex_Caret_Slash_Period_Asterisk |
10.769789062500479 ns/iter |
10.382592187500705 ns/iter |
1.04 |
Regex_Caret_Period_Range_Dollar |
8.193250409849846 ns/iter |
7.586963805415974 ns/iter |
1.08 |
Regex_Nested_Backtrack |
657.23214285701 ns/iter |
629.9098214285997 ns/iter |
1.04 |
JSON_Array_Of_Objects_Unique |
447.9680624999105 ns/iter |
455.2196874999481 ns/iter |
0.98 |
JSON_Parse_1 |
80654.17410715473 ns/iter |
81406.43973213458 ns/iter |
0.99 |
JSON_Fast_Hash_Helm_Chart_Lock |
62.312124999997266 ns/iter |
65.66140178571393 ns/iter |
0.95 |
JSON_Equality_Helm_Chart_Lock |
200.68853568354973 ns/iter |
204.14725929886487 ns/iter |
0.98 |
JSON_String_Equal/10 |
9.59931826071449 ns/iter |
9.899246428574315 ns/iter |
0.97 |
JSON_String_Equal/100 |
9.923532544985028 ns/iter |
9.97802138402619 ns/iter |
0.99 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
2.1670840624999244 ns/iter |
2.1693886359716954 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
15.916765624999535 ns/iter |
14.708200571148083 ns/iter |
1.08 |
JSON_String_Fast_Hash/10 |
3.7205893468654 ns/iter |
3.745432493311201 ns/iter |
0.99 |
JSON_String_Fast_Hash/100 |
3.714031600509931 ns/iter |
3.814576450892813 ns/iter |
0.97 |
JSON_String_Key_Hash/10 |
7.605909341043831 ns/iter |
7.852645089285102 ns/iter |
0.97 |
JSON_String_Key_Hash/100 |
4.033458355417438 ns/iter |
4.029047641123108 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.7196716004999932 ns/iter |
3.7120574933722335 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.7371775834465906 ns/iter |
3.7181630290747574 ns/iter |
1.01 |
JSON_Object_Defines_Miss_Too_Large |
4.965195999998286 ns/iter |
4.976899999999205 ns/iter |
1.00 |
Pointer_Object_Traverse |
53.63749000000553 ns/iter |
52.55801999999221 ns/iter |
1.02 |
Pointer_Object_Try_Traverse |
68.1430892857244 ns/iter |
67.91716517857388 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
177.22547118085055 ns/iter |
179.70127497332487 ns/iter |
0.99 |
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: a33a521 | Previous: c3f7d13 | Ratio |
---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.9200997382362957 ns/iter |
1.9422334319404766 ns/iter |
0.99 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.893621050689419 ns/iter |
1.9248250354764807 ns/iter |
0.98 |
Regex_Period_Asterisk |
1.896688057917265 ns/iter |
1.9186656331599659 ns/iter |
0.99 |
Regex_Group_Period_Asterisk_Group |
1.9114289081358093 ns/iter |
1.9303102351047885 ns/iter |
0.99 |
Regex_Period_Plus |
1.5974054612603286 ns/iter |
1.6337959023616806 ns/iter |
0.98 |
Regex_Period |
1.588370508344964 ns/iter |
1.6431496139025195 ns/iter |
0.97 |
Regex_Caret_Period_Plus_Dollar |
1.6131007355716231 ns/iter |
1.65681634924508 ns/iter |
0.97 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
1.6051787934494637 ns/iter |
1.6539180955007715 ns/iter |
0.97 |
Regex_Caret_Period_Asterisk_Dollar |
1.9327067064711863 ns/iter |
1.9572065285170237 ns/iter |
0.99 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.9456885087515015 ns/iter |
1.9473115540718464 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
6.106179770536121 ns/iter |
6.186587392815636 ns/iter |
0.99 |
Regex_Period_Md_Dollar |
70.90690179353793 ns/iter |
71.41027770751175 ns/iter |
0.99 |
Regex_Caret_Slash_Period_Asterisk |
4.474613843545624 ns/iter |
4.594091960392208 ns/iter |
0.97 |
Regex_Caret_Period_Range_Dollar |
1.8941526230368018 ns/iter |
1.934369992521681 ns/iter |
0.98 |
Regex_Nested_Backtrack |
846.7552769209042 ns/iter |
855.0031236709585 ns/iter |
0.99 |
JSON_Array_Of_Objects_Unique |
217.13865228390867 ns/iter |
212.47629564857675 ns/iter |
1.02 |
JSON_Parse_1 |
24089.508892832608 ns/iter |
23841.04615052382 ns/iter |
1.01 |
JSON_Fast_Hash_Helm_Chart_Lock |
24.660358500286264 ns/iter |
24.392625255910623 ns/iter |
1.01 |
JSON_Equality_Helm_Chart_Lock |
117.30596068159537 ns/iter |
116.90236071109466 ns/iter |
1.00 |
JSON_String_Equal/10 |
5.578101071569606 ns/iter |
5.495133046372576 ns/iter |
1.02 |
JSON_String_Equal/100 |
5.231239570117417 ns/iter |
5.341123184624311 ns/iter |
0.98 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9606677123823717 ns/iter |
0.9811750500905899 ns/iter |
0.98 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.5077562082156186 ns/iter |
3.579323197136499 ns/iter |
0.98 |
JSON_String_Fast_Hash/10 |
1.898043042521388 ns/iter |
1.9748506302144149 ns/iter |
0.96 |
JSON_String_Fast_Hash/100 |
1.9051924106480933 ns/iter |
1.933911187320243 ns/iter |
0.99 |
JSON_String_Key_Hash/10 |
1.4665926748316036 ns/iter |
1.471081857742513 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
1.9569788359523759 ns/iter |
1.971392376207168 ns/iter |
0.99 |
JSON_Object_Defines_Miss_Same_Length |
1.8531536737939878 ns/iter |
1.7700459693013506 ns/iter |
1.05 |
JSON_Object_Defines_Miss_Too_Small |
2.015728642300916 ns/iter |
1.928390988822747 ns/iter |
1.05 |
JSON_Object_Defines_Miss_Too_Large |
1.7592208063528139 ns/iter |
1.761070880311814 ns/iter |
1.00 |
Pointer_Object_Traverse |
51.96471074107147 ns/iter |
54.0052243645939 ns/iter |
0.96 |
Pointer_Object_Try_Traverse |
37.27203774125867 ns/iter |
36.83958358776272 ns/iter |
1.01 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
162.48594694808864 ns/iter |
158.8090222241317 ns/iter |
1.02 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com