As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am watching node.js and its apps for a year now and I would love to replace bigger parts of my good old Java code with node.js.
The problem I noticed with node.js is that
it looks like a chaos, from version to version things don't work anymore
bad documentation, really bad
no idea what libraries have been ported or will be ported any time soon
multi core managment, does it ?
uses 100% of the CPU power regardless of what it actually does (ie : pauses in loops). Thats not green and this is important to us.
Regarding security concerns I would put it behind a reverse proxy and only my old and real Java server would be able to use it.
update : funny this question gets closed because its not constructive. how can the question be constructive when I don't have any glue? Thats why also I am aksing here ! You moderators here really suck sometimes.
However, would you rather suggest to wait before moving to node ? Or do you think its time to move over ?
I'm writing loads of Java server side code and I would start building my own base framework and then port piece by piece!?
Even if the questions gets closed:
Actually, it works pretty stable and backwards compatible so far
Are you for real ? --> http://nodejs.org/api/
Again: http://www.nodejs.org
Node didn't scale with CPU or core numbers, you should let the OS scale node processes by just launching multiple instances
That is just wrong.
Even if Node still is "young" in comparison to other "server-side considered languages", it already found its place in a lot of spots. It can deal easily with huge amounts of users, it's an excellent web-socket server counterpart, its lightning fast when it comes to dispatching network traffic to a lot active connections and its ECMAscript, the most sweet sugar language ever made (the last statement is personal opinion).
There are probably hundreds of valid use cases for Node.js, obviously there is no specific task were it is a "must use", but thats the same rule for any language most likely. Its fun, its fast, dig into it.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I have a sort of unusual question, and I know it is a very controversial, but here it comes.
I have developed a few JSF applications in the past but these all limit the amount of users that can be servred about 5-6. This was partly because of a license based policy. I performed some tests with 20+ users and Selenium, and the applications went really slow. The problem was probably originating from the server's performance but still, I can't help to ask the following question:
Can a JSF application support a large number of users? My bet would be that the framework should allow it, however I can't think of any commercial website that uses JSF and can support thousands of users at a time. (If you could show me some that would be great!)
I ask this, because I have been asked to develop a larger system, and I would love to use JSF because I love it very much, however the recent performance tests gave me doubts. The lead programmer said it is only the server machine's perfomance that is the issue, but in that case, what kind of machine can support thousands of users logged in at the same time? The lead programmer is not the best of it's kind, that is why I want to hear a second opinion from SOF if you dont mind.
If there is any framework more suitable for extreme use please let me know which one it is, the only real constraint I have is that it should be Java based on the server side.
Again my apologies for the unconstructive question.
these all limit the amount of users that can be servred about 5-6
Not sure what the app's load or design are, but that sounds unbelievably low. JSF should be able to handle many 100s of users if designed right or even 1000s with the right infrastructure. JSF code runs with servlets and facelets - the framework is standard code on top of these, that has been optimized over time and gets JIT optimised at runtime.
E.g. With IBM Websphere Portal Server and Oracle Portal, the standard way to build customer portals and apps is via JSF. And they're used in massive installations.
Sounds like your past app(s) have some problem. I don't think you can blame that performance on JSF.
If you want an extreme number of connection is Java you might consider http://netty.io/ It is designed to support and has been tested for 100,000+ connections.
I suspect the bottleneck is not the number of connections you have but how efficient you serve up pages i.e. you JSF is particularly slow. If you optimise that I suspect you can handle more connections.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I'm planning on building a network throughput speed test (speed test) that will eventually be embedded in a website for random people to test their internet connection speed. The test will not only test their speed, but also trigger a test on the server to test the server uplink speed at the same time (to display as a comparison at that moment in time).
I'm very comfortable in Java - but an applet seems to be a poor choice in 2013.
The client is specifying they would like it in either Java (and applet) or Flash (oh god... ). I have no Flash experience, but once you know to program, you know to program... so it would just require learning the Flash toolchain/processes and syntax (hoping this isn't too crazy).
However, I feel Flash is a poor choice as well (it's already being killed off by Adobe and it seems futile to invest so much effort to learn a platform that will go away (relatively) sometime in the near future).
As the domain expert, I am free to make recommendations based on what I feel is not only viable, but makes sense. Javascript comes to mind here, but I have little Javascript experience too (so in same boat of having to learn it). I think Javascript's barrier to entry is much lower though since it's all embedded in HTML pages and I know HTML fairly well.
Anyways, please make recommendations for such a project (platform-wise) and if possible point me in some direction of source code or examples of other speed tests that I can review and learn from (i tried searching but all i get back is functioning speed tests like speedtest.com etc, not source or theory, or design patters behind them).
Test network speed using PHP/Javascript
They didn't find a answer but there are some good suggestions. Just read it :)
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I have been writing C/C++ code for years. Recently started doing lot of Java too because some of the very fine products that I am using to solve my computing problems are all written in Java (Example: Lucene/Solr, Hadoop, Neo4j, OpenNLP etc.).
I am seeing this chage since last 3-4 years that Java has really got very popular atleast in Internet Algorithms (Clustering, Search, Big Data & so on). Though their are counterparts of the products that I have mentioned above in C++ (like for Search Sphinx written in C++ is a great option, Google has its Map Reduce written in C++ etc.)
I am just curious to know what are the factors & strength's that are making Java very popular these days specially in the Information Retrieval & Big data domain.
I just wanted to know the strengths of Java which is making it very popular in Internet Algorithms space? Is it just because of platform independence thing?
I would argue that Java and C++ perform at a similar level outside of the arbitrary, contrived situations which are so often used to prove that X is faster than Y.
Once you factor in network round-trip times and other, real world delays, I can't see a C++ application offering a measurable advantage over a Java application simply due to being C++ as opposed to Java. You will, however, see a measurable difference between a well-written application and a poorly-written application.
plattform independance is a nice feature, but doesn't always work in java. depending on what you do
java gets its popularity for the fact, that it's more safe than c++
you can not use pointer arithmetics and you can not manage memory allocation on your own
if something wents terribly wrong, you get an exception or an error, or the program just crashes but in java you are relatively sure not to continue doing things you definitely don't want to do
yes you can do all that in c++, but that's not the question, isn't it?
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I have a system that the backend currently relies on Python.
Basically it has a series of scripts that will go through a MySQL database and check for certain parameters across multiple tables and then perform actions such as send emails and text messages then amend relevant cells to say these issues were dealt with. There is then another script that sits and listens on a port for UDP packets, unpacks them validates them and if they pass validation inserts them into the database and check to see if the data triggers any alarms will send an email and tech message.
My question is am I doing this the most efficient way? As I am not sure how to have a system of checking to see if the scripts are running and if not relaunch them. All of them run infinitely 24/7. Would rewriting them in Java be more stable and efficient?
There is no real way to answer either question without knowing all aspects of the system.
If your system basically have 2 scripts written in Python that perform well I don't see any reason whatsoever to change that architecture. One more consideration that I would give you to ponder is that at least one of these scripts is a support script and the guys responsible for support mostly don't care much about Java to be able to troubleshoot the code.
As far as JAVA is concerned I am not sure that you would be better off with Java then you are with Python. There is no shortage of expertise out there in either language but given what the programs are used for I'd say Python would be a better choice. If you are concerned about performance though I would look at Cython as a possiblity.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
from these links:-
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=python3&lang2=java
http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=python3&lang2=java
http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=python3&lang2=java
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=python3&lang2=java
they appear clearly that the best choice for GAE is java, if scalable feature is what we are looking for.
my question is, What are the implications that will affect on performance if we use one of frameworks?
e.g.
django --> python
spring MVC --> java
slim3 --> java
... etc
Just a quick note - don't take this as a definitive/comprehensive comparison:
Both Django and Spring have a long startup time, which can lead to requests being dropped. I'd go with a framework that was speciffically made for GAE: tipify, slim3, etc..
I'm used both Python and Java on GAE, one project done using Python+Django, and one using Java/Groovy+Spring.
Python+Django is very easy to develop, initially, but not so easy to maintain. It have enough fast startup time, good documentation, atc.
Java+Spring requires more development (some parts takes 2-3 times more than doing same using django), have problems with startup time (even if you are using warmup requests). But it much more stable.
Python project have too much errors, mostly without any visible (to you) reason :( And it's very hard to find cause of this errors, because of dynamic nature of lang. And also, be ready to manually patch some libraries you're using. Don't get me wrong, i have many years of Python experience, but it's really hard to maintain it on such distributed systems like GAE, and it's really have problems with quality of code :(
Java, in other hand, works very well. In case when your code have problems, you'll see all information you need to fix this, and after few iterations you'll fix almost all bugs. Except one: sometimes you'll see startup errors :( Not too often, btw
PS btw, choosing right language for GAE depend on what language you knows betters :) If you don't know Java yet - don't start with it, it requires at least 1-2 years to understand language.
These benchmarks compare Python 3 to Java on a (presumably) standard setup. There's no indication of what sort of workload these benchmarks test, either.
App Engine runs Python 2.5, in a decidedly different configuration to what you'd find on a standard desktop, so the benchmarks really don't apply.
Further, scalability isn't about benchmarks like these - they make, at most, a constant factor difference. If your app is built to scale, it will scale in either language, to the same degree. Scalability depends on how well you architect your app and use the underlying infrastructure.
I would recommend using whatever language and framework you're most comfortable with - don't pick your language based on benchmarks.