Исправление
wota,
(текущая версия)
:
я ваши фшарпы не знаю, но логично мерять максимальное время на поиск, т.е. когда списки почти наверняка разные, а совпадает к примеру последний элемент (и то для теста):
~$ cat 1.cpp
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <unordered_set>
#include <vector>
using namespace std;
int main() {
srand( time( 0 ) );
unordered_set<int> us;
vector<int> v1( 10000 ), v2( 10000 );
generate( v1.begin(), v1.end(), rand );
generate( v2.begin(), v2.end(), rand );
v1.push_back( 9999 );
v2.push_back( 9999 );
for( int n : v1 )
us.emplace( n );
for( int n : v2 ) {
if( us.find( n ) != us.end() ) {
printf( "Yes: %d\n", n );
return 0;
}
}
printf( "No\n" );
}
~$ g++ -Ofast -std=c++11 1.cpp
~$ time ./a.out
Yes: 9999
real 0m0.005s
user 0m0.004s
sys 0m0.004s
и если время выше таки в секундах - то ваш fsharp нереально тормозной
Исходная версия
wota,
:
я ваши фшарпы не знаю, но логично мерять максимальное время на поиск, т.е. когда списки почти наверняка разные:
~$ cat 1.cpp
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <unordered_set>
#include <vector>
using namespace std;
int main() {
srand( time( 0 ) );
unordered_set<int> us;
vector<int> v1( 10000 ), v2( 10000 );
generate( v1.begin(), v1.end(), rand );
generate( v2.begin(), v2.end(), rand );
for( int n : v1 )
us.emplace( n );
for( int n : v2 ) {
if( us.find( n ) != us.end() ) {
printf( "Yes: %d\n", n );
return 0;
}
}
printf( "No\n" );
}
~$ g++ -Ofast -std=c++11 1.cpp
~$ time ./a.out
No
real 0m0.005s
user 0m0.004s
sys 0m0.000s
и если время выше таки в секундах - то ваш fsharp нереально тормозной