aboutsummaryrefslogtreecommitdiffstats
path: root/lib/LuaBridge/Tests/Source/PerformanceTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/LuaBridge/Tests/Source/PerformanceTests.cpp')
-rw-r--r--lib/LuaBridge/Tests/Source/PerformanceTests.cpp165
1 files changed, 0 insertions, 165 deletions
diff --git a/lib/LuaBridge/Tests/Source/PerformanceTests.cpp b/lib/LuaBridge/Tests/Source/PerformanceTests.cpp
deleted file mode 100644
index bb074ac..0000000
--- a/lib/LuaBridge/Tests/Source/PerformanceTests.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-//==============================================================================
-// https://github.com/vinniefalco/LuaBridge
-//
-// Copyright 2012, Vinnie Falco <vinnie.falco@gmail.com>
-// Copyright 2007, Nathan Reed
-// SPDX-License-Identifier: MIT
-
-#include "TestBase.h"
-
-#include "JuceLibraryCode/BinaryData.h"
-
-/**
- Command line version of LuaBridge test suite.
-*/
-
-#include <cstdio>
-#include <iostream>
-#include <iomanip>
-#include <string>
-#include <vector>
-#include <ctime>
-
-using namespace std;
-using namespace luabridge;
-
-//------------------------------------------------------------------------------
-/**
- Simple stopwatch for measuring elapsed time.
-*/
-class Stopwatch
-{
-private:
- clock_t m_start;
-
-public:
- Stopwatch ()
- {
- start ();
- }
-
- void start ()
- {
- m_start = clock ();
- }
-
- double getElapsedSeconds ()
- {
- clock_t now;
-
- now = clock ();
-
- return (double (now - m_start)) / CLOCKS_PER_SEC;
- }
-};
-
-//------------------------------------------------------------------------------
-/**
- Classes used for performance tests.
-*/
-
-struct A
-{
- A () : data (0), prop (0)
- {
- }
-
- void mf1 ()
- {
- }
-
- void mf2 (A*)
- {
- }
-
- void mf3 (A&)
- {
- }
-
- virtual void vf1 ()
- {
- }
-
- int data;
-
- int prop;
- int getprop () const
- {
- return prop;
- }
- void setprop (int v)
- {
- prop = v;
- }
-};
-
-//------------------------------------------------------------------------------
-
-void addToState (lua_State* L)
-{
- getGlobalNamespace (L)
- .beginClass <A> ("A")
- .addConstructor <void (*)(void)> ()
- .addFunction ("mf1", &A::mf1)
- .addFunction ("mf2", &A::mf2)
- .addFunction ("mf3", &A::mf3)
- .addFunction ("vf1", &A::vf1)
- .addData ("data", &A::data)
- .addProperty ("prop", &A::getprop, &A::setprop)
- .endClass ()
- ;
-}
-
-void runTests (lua_State* L)
-{
- cout.precision (4);
-
- int result;
-
- luaL_dostring (L, "a = A()");
-
- int const trials = 5;
-
- for (int trial = 0; trial < trials; ++trial)
- {
- result = luaL_loadstring (L, "a:mf1 ()");
- if (result != 0)
- lua_error (L);
-
- int const N = 10000000;
-
- Stopwatch sw;
-
- sw.start ();
- for (int i = 0; i < N; ++i)
- {
- lua_pushvalue (L, -1);
- lua_call (L, 0, 0);
- }
-
- double const seconds = sw.getElapsedSeconds ();
-
- cout << "Elapsed time: " << seconds << endl;
- }
-}
-
-void runPerformanceTests ()
-{
- lua_State* L = luaL_newstate ();
- luaL_openlibs (L);
-
- addToState (L);
- runTests (L);
-
- lua_close (L);
-}
-
-struct PerformanceTests : TestBase
-{
-};
-
-TEST_F (PerformanceTests, AllTests)
-{
- addToState (L);
- runTests (L);
-}