Giter Site home page Giter Site logo

actor's Introduction

==========================
        ____ _
  __ _ / ___| |_ ___  _ __
 / _` | |   | __/ _ \| '__|
| (_| | |___| || (_) | |
 \__,_|\____|\__\___/|_|

==========================

Interpreter for C-like language.

Features
--------
*) STL-free code
*) Strict code style
*) Fine performance when compiling with -O2 (test described below)

Build
-----
Run:
	make
Version for debugging:
	make debug

Installation
------------
Enter the following command to install actor (if necessary as root):
	make install

Usage
-----
To run the script with actor enter the following:
	./actor scriptname.c

For contributors
----------------

Grep FIXME and TODO to get the idea about current tasks. Use ctags for easier
navigation on the project (make tags).

Documentation
-------------
Check doc/ directory. (incomplete)

Performance examples:
---------------------

Testing calculation of 34-th Fibonacci number by recursive function without
memoization (~1.6*10^10 operations). Source used for tests on C and actor is
located here: examples/fibonacci_recursion.c . Tests were made just for
curiosity, and probably lack performance measuring correctness. If you need
this tool for production, better test it yourself.

Versions of software:
gcc version 10.3.0 (Gentoo 10.3.0 p1)
Python 3.8.9

====================================

actor (without -O2):
$ time ./actor examples/fibonacci_recursion.c

real    0m14.239s
user    0m14.207s
sys     0m0.019s

====================================

actor (with -O2):
$ time ./actor examples/fibonacci_recursion.c

real    0m2.530s
user    0m2.528s
sys     0m0.002s

====================================

gcc:
$ gcc -m32 -O0 examples/fibonacci_recursion.c -o fibonacci_recursion
$ time ./fibonacci_recursion

real    0m0.157s
user    0m0.156s
sys     0m0.001s

====================================

python:
$ time python examples/fibonacci_recursion.py

real    0m3.954s
user    0m3.947s
sys     0m0.007s

====================================

actor's People

Contributors

doricredpanda avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.