Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 06 Jul 2011
Offline Last Active Nov 25 2012 11:51 AM

Posts I've Made

In Topic: More advanced parsing & script section order

22 September 2012 - 08:53 AM


I want this to allow people use #include <path>. TC_VALUE seems only to allow " and ', so I thought of modifying it. The tokenizer does not seem to pass back TC_VALUE when there are no quotes. Of course I can work-around this, but I wanted to know firstly that there is no other possibility.

Thanks and good work btw ;)

By the way, I've got a question to the coding style. Is there a reason for using a non objective programming style in some cases?
Example: engine->DiscardModule(const char*). I intuitionally tried to use module->Discard() and then engine->DiscardModule(module).
Is the reason the more easy binding to other programming languages, like C? Or are there other reasons?


In Topic: Using AngelScript namespace causes linker error (VC11)

21 September 2012 - 11:33 AM

Wow. So obvious and I was blind, but now I see. Thanks!

In Topic: Threading of multiple engines

18 September 2012 - 12:46 PM


ok. Thank you :)

Btw, I found a possible optimization. Because I don't know where to put this, I may write it here.
In scriptstdstring.cpp, lines 91 and 92 (speaking of 2.25.0) could be replaced with:
[source lang="cpp"]it = pool->insert(map<const char *, string>::value_type(s, string(s, length))).first;[/source]


In Topic: Threading of multiple engines

18 September 2012 - 09:25 AM


Ok, thanks for your fast reply.

Since I'm currently rebuilding the whole module before I run it, I shouldn't have problems with race conditions.

Will these problems still exist if I use different engines? I don't think so.

About my plans: I try to make AngelScript usable as a web scripting language. It works via fastcgi or scgi in a single application. The application implements a process spawner to allow real-per-user script execution. This improves security and performance. Then every spawned process runs under a real user, holding some threads. Currently there are as many threads as cores provided by the CPU. It also contains a load balancer. If a certain amount of requests is longer than 0.2s in the processing queue, a new thread will be started. The thread pool decides by itself when to reduce the number of threads.

Currently, a context is created once per thread startup and is reused for every request in the specific thread.

To allow much better experience with AS as a scripting language, I'm about to rewrite the whole preprocessor. It contains a bit more flexibility and is more dynamic.

I don't know if you know PHP. If you know, you may know its mistakes and problems. I think that a lot of mistakes could be solved using AS, including caching and security improvements.

In Topic: Threading of multiple engines

18 September 2012 - 08:20 AM

Oh, okay.
So the contexts will not block each other when they are running in different threads though they are using the same engine?
Be sure that this is my last question :D