Top-secret

git-svn-id: svn://10.65.10.50/trunk@3520 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-09-05 13:26:10 +00:00
parent 53e7e70c06
commit fb5f11a162

@ -1,8 +1,10 @@
#include <time.h>
#include <applicat.h>
#include <mask.h>
#include <progind.h>
#include <urldefid.h>
/*
#include <relapp.h>
///////////////////////////////////////////////////////////
@ -23,7 +25,7 @@ protected:
virtual TMask* get_mask(int) { return _msk; }
virtual bool changing_mask(int) { return FALSE;}
virtual TRelation* get_relation() const { return _rel; }
virtual int read(TMask& m) { m.autoload(_rel); return NOERR; }
virtual int read(TMask& m) { m.autoload(*_rel); return NOERR; }
virtual int write(const TMask&) { return NOERR; }
virtual int rewrite(const TMask&) { return NOERR; }
@ -55,8 +57,6 @@ bool TTestrel_application::user_destroy()
return TRUE;
}
*/
///////////////////////////////////////////////////////////
// Testmask
///////////////////////////////////////////////////////////
@ -85,11 +85,119 @@ bool TTest_application::menu(MENU_TAG)
///////////////////////////////////////////////////////////
class TBenchmark_application : public TApplication
{
TIndwin* _iw;
clock_t _timer;
protected:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG);
void initializing();
void start_test(const char* msg);
void stop_test();
void test_relation_scan();
public:
TBenchmark_application() : _iw(NULL) { }
virtual ~TBenchmark_application() { }
};
bool TBenchmark_application::create()
{
dispatch_e_menu(MENU_ITEM(1));
return TRUE;
}
bool TBenchmark_application::destroy()
{
if (_iw)
{
delete _iw;
_iw = NULL;
}
return TRUE;
}
bool TBenchmark_application::menu(MENU_TAG)
{
TString test = argv(1); test.upper();
const bool test_all = test.find('A') >= 0;
if (test_all || test.find('R') >= 0)
test_relation_scan();
return TRUE;
}
void TBenchmark_application::initializing()
{
CHECK(_iw == NULL, "Benchmark already in progress");
_iw = new TIndwin(48, "Initializing ...", FALSE, TRUE, 48);
}
void TBenchmark_application::start_test(const char* text)
{
CHECK(_iw != NULL, "Benchmark not started yet");
_iw->set_text(text);
clock_t _timer = clock(), t;
do
{
t = clock();
} while (t == _timer);
_timer = t;
}
void TBenchmark_application::stop_test()
{
CHECK(_iw != NULL, "Benchmark not started yet");
const clock_t t = clock() - _timer;
const double s = t / CLOCKS_PER_SEC;
TString80 msg;
msg.format("Time to complete: %.1lf s", s);
_iw->set_text(msg);
while (!_iw->is_cancelled())
do_events();
delete _iw;
_iw = NULL;
}
void TBenchmark_application::test_relation_scan()
{
initializing();
TRelation comuni(LF_COMUNI);
comuni.add("%UID", "CODTAB=UFFIIDD1");
comuni.first();
start_test("Scansione COMUNI+%UID");
while (!comuni.eof())
comuni.next();
stop_test();
}
///////////////////////////////////////////////////////////
int main(int argc, char** argv)
{
TApplication::check_parameters(argc, argv);
if (argc > 1 && *argv[0] == '-')
{
TBenchmark_application bma;
bma.run();
return 0;
}
if (argc < 3)
{
TFilename n;
@ -113,13 +221,11 @@ int main(int argc, char** argv)
a.run(argc, argv, n);
}
}
/*
else
{
TTestrel_application a(argv[1], argv[2]);
a.run(argc, argv, "Test Relation Application");
}
*/
return 0;
}