Re: [google-appengine] Instance Hours, Python Concurrency, and Regret

2011-09-11 Thread Jeff Schnitzer
The GIL (old or new) is not a problem for concurrency unless your application spends large quantities of time CPU-bound. As soon as you make an I/O request, some other thread will run. The GIL doesn't hurt. Jeff On Sat, Sep 10, 2011 at 4:04 PM, Steve unetright.thebas...@xoxy.net wrote: I (and

Re: [google-appengine] Instance Hours, Python Concurrency, and Regret

2011-09-11 Thread Jeff Schnitzer
On Sun, Sep 11, 2011 at 6:31 PM, Steve unetright.thebas...@xoxy.net wrote: On my GET requests, I/O accounts for roughly half of the time to process the request.  When a user POSTs new data, my app does a fair amount of recalculations and I/O is only about 20% of the request processing time.  

Re: [appengine-java] Re: The *real* cost of the billing changes

2011-09-10 Thread Jeff Schnitzer
Amazon does something like this for its excess capacity: http://aws.amazon.com/ec2/spot-instances/ ...but it's just for excess capacity. I wouldn't want this kind of behavior for my core usage because it would make my bill highly unpredictable. And it does not incentivize Google to add more

Re: [google-appengine] Re: The Unofficial Google App Engine Price Change FAQ

2011-09-10 Thread Jeff Schnitzer
Is this really true, that if you burst to 100 instances you won't get the 15-minute charges? Even if you have it set to automatic? I'd like to hear an official voice on this matter. I updated the FAQ with a link to your explanation. Although I have to admit that i'm still somewhat confused

Re: [google-appengine] Re: The Unofficial Google App Engine Price Change FAQ

2011-09-10 Thread Jeff Schnitzer
Ok, I understand what you want, and perhaps that makes sense... but this isn't really relevant to the price change. The curent behavior of GAE is to provide best-quality service until your budget runs out, then fail. The post-change behavior will be the same. And really, any benefit you get

[google-appengine] The Unofficial Google App Engine Price Change FAQ

2011-09-09 Thread Jeff Schnitzer
Here ya go: http://blorn.com/post/10013293300/the-unofficial-google-app-engine-price-change-faq Jeff -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe

Re: [google-appengine] Re: The Unofficial Google App Engine Price Change FAQ

2011-09-09 Thread Jeff Schnitzer
My point is that no adjustment to the scheduler will ever really solve the problem. To the extent that it limits your bill, it does so by sacrificing user experience. Sure you might prevent a second instance from starting but that just means some poor sod is sitting around waiting for his

Re: [google-appengine] Re: The Unofficial Google App Engine Price Change FAQ

2011-09-09 Thread Jeff Schnitzer
On Fri, Sep 9, 2011 at 9:28 PM, Robert Kluin robert.kl...@gmail.com wrote:   Out of curiosity, have you noticed decreased capacity on your multi threaded front-ends since they reduced the CPU (now 600mhz) and memory (now 128mb) / front-ends? I really haven't been paying attention - working on

Re: [google-appengine] Re: Google App engine NO LONGER FOR SMALL DEVELOPERS

2011-09-09 Thread Jeff Schnitzer
I generally share this opinion - seriously, if $9/mo is a problem, you're not running a business. That's two lates (one in NYC). However, I think there is a deeper issue here which is that 50k datastore operations per day really isn't much. It's actually somewhat hard to run a hobby project on

Re: [google-appengine] Re: Google App engine NO LONGER FOR SMALL DEVELOPERS

2011-09-09 Thread Jeff Schnitzer
On Fri, Sep 9, 2011 at 9:52 PM, Jeff Schnitzer j...@infohazard.org wrote: I generally share this opinion - seriously, if $9/mo is a problem, you're not running a business.  That's two lates (one in NYC). That would be lattes. Jeff -- You received this message because you are subscribed

Re: [google-appengine] Re: Why app engine new price model is totally wrong

2011-09-06 Thread Jeff Schnitzer
On Mon, Sep 5, 2011 at 9:47 AM, Wilson MacGyver wmacgy...@gmail.com wrote: I understand people are upset about GAE pricing, but let's not pretend this is as easy as 1: sign up for amazon, 2: setup 3 instances in amazon east, 3: webscale :) Part of the problem is that there is a distinct

Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-20 Thread Jeff Schnitzer
On Fri, Aug 19, 2011 at 11:30 PM, thstart thst...@gmail.com wrote: +Jeff Schnitzer EVENTUAL_CONSISTENCY so with this we are 1 step back to M/S using HR? What is the point? Huh? This seems a complete non-sequitur. P.S. it is 3 hours and I still can not upload my app on the cloud (M/S). I get

Re: [google-appengine] Re: Classloading still way too slow. Any recommended practices? (yes, I am using warmup requests already)

2011-08-20 Thread Jeff Schnitzer
I wonder if this might ameliorate classpath scanning performance issues, and make it a viable option again. Jeff -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To

[google-appengine] High-performance, high-precision sharded counters in the HRD

2011-08-20 Thread Jeff Schnitzer
The short version boiled down to two questions: 1) What is the maximum realistic throughput for memcache increment() on a single counter? 2) The documentation for the HRD says that queries across entity groups are eventually consistent. Does this extend to __key__ queries as well? For example,

Re: [google-appengine] High-performance, high-precision sharded counters in the HRD

2011-08-20 Thread Jeff Schnitzer
On Sat, Aug 20, 2011 at 2:34 PM, Stephen sdeasey+gro...@gmail.com wrote: On Sat, Aug 20, 2011 at 9:50 PM, Jeff Schnitzer j...@infohazard.org wrote: Second:  The key is being able to get a strongly consistent sum of the sharded counters. You only really need to know whether widgets

Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-19 Thread Jeff Schnitzer
On Fri, Aug 19, 2011 at 8:16 PM, thstart thst...@gmail.com wrote: My only concern if I will get the same speed. I don't want to spend all this effort costing me money and time and at the end to find it will be slower than M/S. Did you try the solution Stephen mentioned? my_members =

Re: [appengine-java] Re: Objectify-Appengine 2.1 released, supports Partial Indexes

2011-08-12 Thread Jeff Schnitzer
Specifically, it's the difference between calling Entity.setProperty() or Entity.setUnindexedProperty() on the low level API. Objectify interacts with the datastore through the low level API, so there is always underlying support for features. Not necessarily in a convenient form, however. Jeff

Re: [appengine-java] Appengine Rest Services

2011-08-12 Thread Jeff Schnitzer
I'm pretty happy with Resteasy: http://www.jboss.org/resteasy There was a minor trick to getting Guice integrated nicely (see my recent post on the resteasy-developers list). Other than that it works great, and you can use it to render HTML pages with a little extension:

Re: [appengine-java] Joins!

2011-08-05 Thread Jeff Schnitzer
On Fri, Aug 5, 2011 at 11:45 AM, William Levesque billleves...@gmail.com wrote: But is Google's position that all data should be denormalized? I don't think anyone would say that. I wrote up my thoughts around this subject here:

Re: [google-appengine] JDO schema change nightmare, app going live

2011-08-02 Thread Jeff Schnitzer
Sorry, just noticed this. Yeah, schema changes really don't seem to have been a design consideration for the JDO/datanucleus integration. If you want help with JDO, best to describe the exact changes you are making. If you want to port to Objectify, it shouldn't be too hard since Objectify

Re: [google-appengine] Re: Transactions and ancestor in a different namespace

2011-07-23 Thread Jeff Schnitzer
If you are using Objectify 3.0, the Key? is a simple wrapper for the native datastore Key - with all the same namespace consequences. In previous versions, the Key? - Key conversion was done last-minute so it would inherit the namespace then. Jeff On Sat, Jul 23, 2011 at 5:51 AM, Hugo Visser

Re: [google-appengine] Adapting an existing webapp to GAE: accessing datastore

2011-07-20 Thread Jeff Schnitzer
In Eclipse, go to Project Properties - Google - App Engine and check the Use Google App Engine box. That should be enough to get the User Library added and the libraries set up in WEB-INF/lib, although you might need to close/reopen the project (and use the auto-correct feature to synchronize

Re: [appengine-java] Contains query Low Level datastore

2011-07-19 Thread Jeff Schnitzer
It's actually much simpler than you realize. Assuming that your ListLong is an indexed property named 'friends', you just need to filter entities for 'friends' equal to your id. This is how list indexes work - if you filter on the property, the entity matches if any value in the list matches the

Re: [google-appengine] Re: Stuck bringing my own domain to my app engine

2011-07-18 Thread Jeff Schnitzer
You need to host DNS somewhere no matter what you do. Google doesn't do that for you. You don't need to purchase any kind of web hosting plan. You just need to put the TXT record in your DNS servers. Jeff On Mon, Jul 18, 2011 at 10:09 PM, Rossco rosscoe.p...@gmail.com wrote: Thanks, but the

Re: [google-appengine] Some questions about AppEngine

2011-07-18 Thread Jeff Schnitzer
Keep in mind that memcache can be randomly cleared at any time. You probably don't want to save game state there except as a cache. Jeff On Sun, Jul 17, 2011 at 10:00 AM, Jayjay mivi...@gmail.com wrote: Hello, i want to make an mmo with AppEngine and i have some questions: 1) Can data

Re: [appengine-java] Re: appspot.com without www domain names - but not a general word to remember and refer to -

2011-07-17 Thread Jeff Schnitzer
Shrug. Given that any domain chosen cannot have google as part of it (G doesn't want to convey any kind of public endorsement of our applications), appspot seems about as good as any. Sure cloud.com would be nice but I'm pretty sure the people already using cloud.com have other ideas on the

Re: [google-appengine] Using A Java Application As Client to App Engine?

2011-07-17 Thread Jeff Schnitzer
For Java-Java, Hessian works well - no fuss, just Java methods and Java objects. Jeff On Sat, Jul 16, 2011 at 6:13 PM, Wilson MacGyver wmacgy...@gmail.comwrote: there are plenty of examples of people using GAE with non-browsers. Using it as a web service isn't uncommon. I know there are

Re: [appengine-java] Απ: ANN: BatchFB 2.1, a Java Facebook library with automatic batching

2011-07-15 Thread Jeff Schnitzer
On Thu, Jul 14, 2011 at 10:59 PM, George Moschovitis george.moschovi...@gmail.com wrote: Thanks for the release, but why don't you use Future? The Future? interface is fundamentally defective because it uses checked exceptions. Checked exceptions are one of the handful of gross design flaws

Re: [google-appengine] What happens to still pending async operations when the request completes (in Python)?

2011-07-14 Thread Jeff Schnitzer
Even though your code returns, the request itself does not return until all pending async requests complete (or timeout). Jeff On Thu, Jul 14, 2011 at 5:14 PM, Pol i...@pol-online.net wrote: Hi, I was wondering, if you start an async urlfetch (or even an async db operation) but don't wait

Re: [google-appengine] Re: Updated App Engine Pricing FAQ!

2011-07-13 Thread Jeff Schnitzer
On Wed, Jul 13, 2011 at 8:26 AM, Feng xnite...@gmail.com wrote: And they don't support cPickle, and parsing a 1MB object for each request with pickle is not funny. And BTW, you still have to parse it every time even when using memcache. It's no different than the datastore in this regard.

Re: [appengine-java] Best way to work with a CellTable and many-to-one relationship with objectify?

2011-07-12 Thread Jeff Schnitzer
The public/private/protected/package status of java fields is 100% irrelevant from a security perspective. It's just there to help keep your code clean. The data is still being passed across the wire in a simple, easily-decoded protocol that any sniffer can translate. If you're passing

Re: [google-appengine] Re: Weekend project: keep your app warm

2011-07-12 Thread Jeff Schnitzer
I can't believe I'm still writing about this... at the very least you're hacking around the $9/mo fee for an always-on instance. The free tier of appengine works because all those zillions of little test apps and experiments that people create don't actually occupy resources beyond a small

[appengine-java] ANN: BatchFB 2.1, a Java Facebook library with automatic batching

2011-07-11 Thread Jeff Schnitzer
This is the first time I've announced this opensource project in this forum because until now there wasn't anything GAE-specific about it. You can still use BatchFB outside of GAE, but now BatchFB will use asynchronous fetching on App Engine to issue multiple batches to Facebook in parallel.

Re: [google-appengine] Re: Weekend project: keep your app warm

2011-07-11 Thread Jeff Schnitzer
Using cron to keep your app warm is not sanctioned either. If Google wanted to give you a way to keep your app running, they'd offer it as a feature and charge for it. If these hacks become commonplace, GAE engineers will be retasked to fighting them and this will further delay new features that

Re: [google-appengine] Re: Weekend project: keep your app warm

2011-07-10 Thread Jeff Schnitzer
On Sun, Jul 10, 2011 at 4:26 PM, Barry Hunter barrybhun...@gmail.com wrote: On Sun, Jul 10, 2011 at 5:17 PM, bejayoharen  wrote: A great project would be one that worked from a third party site (non-cloud hosting would suffice), checked your site periodically, and contacted you (eg sent

Re: [appengine-java] Re: Fast MVC Framework for GAE?

2011-07-09 Thread Jeff Schnitzer
If you're just looking for an MVC framework, here are two that I wrote: Tagonist: http://www.tagonist.org/ This is about as simple as it can possibly get. Less than 500 lines of code, no classpath scanning, zero (as in nada, none, zip) effect on startup time. It just plays clever with JSP.

Re: [google-appengine] Re: Updated App Engine Pricing FAQ!

2011-07-08 Thread Jeff Schnitzer
On Thu, Jul 7, 2011 at 4:41 PM, an0nym an0nym...@gmail.com wrote: = instance hours vs ram hours = I don't think this request for so-called ram-hours makes much sense. I'm willing to bet that when a GAE instance starts up on a box, a fixed amount of RAM (the max it could use, say 128MB) is

Re: [google-appengine] Re: Updated App Engine Pricing FAQ!

2011-07-08 Thread Jeff Schnitzer
On Fri, Jul 8, 2011 at 12:42 PM, an0nym an0nym...@gmail.com wrote:  If I need to fetch/write 200 bytes of data for a small entity, and instead of this I fetch/write 1 Mb huge entity (by the way, consume google internal bandwidth, maybe even across datacenters with hrd, I don't even say about

Re: [appengine-java] Can we get lat/long data for given address ?

2011-07-06 Thread Jeff Schnitzer
Google geocoding. Jeff On Wed, Jul 6, 2011 at 10:14 AM, oceandrive rams...@gmail.com wrote: Can anyone tell me if there is a way to get latitude/longitude values for a given address -- You received this message because you are subscribed to the Google Groups Google App Engine for Java

Re: [appengine-java] Changing datastore property type

2011-07-06 Thread Jeff Schnitzer
On Wed, Jul 6, 2011 at 11:50 AM, jMotta jayrmo...@gmail.com wrote: Jamie, I don't know if get it right, but if it's part of the key it is not possible to change. It sounds like the id is being stored as a field/property of an entity - it's basically a foreign key. If this property is not

Re: [google-appengine] Re: HItting query limit using Geocoding API from App Engine

2011-07-06 Thread Jeff Schnitzer
unhackable. On Apr 9, 3:32 am, Jeff Schnitzer j...@infohazard.org wrote: On Thu, Apr 7, 2011 at 3:20 PM, nickmilon nickmi...@gmail.com wrote: IMHO a proxy will complicate things. What about if GAE team gets in touch with maps V3 team and explain to them the issue so may be they can rate limit

Re: [google-appengine] Re: Why does Google App Engine Discriminate against Chinese people?

2011-07-06 Thread Jeff Schnitzer
2011/7/6 Brandon Wirtz drak...@digerat.com: (When the black SUV's come to take me away for explaining the best way to hide transactions from other countries, I expect the list to start a collection to post my bail) Can I make my contribution with bitcoins? Jeff -- You received this message

Re: [appengine-java] Why are app instances killed after 9000 requests

2011-07-05 Thread Jeff Schnitzer
This is an interesting issue. Hopefully someone at Google has considered this when making changes to the scheduler. Instance death after 9k requests is a known behavior of GAE (well, known if you read these forums - I don't think there is any official documentation). As a wild guess on my part,

Re: [appengine-java] Big Entities vs Small Entities

2011-07-05 Thread Jeff Schnitzer
I think John has the right idea... but since you probably don't need dynamic form fields, I would probably do it like this: class MyEntity { @Id String uid; @Embedded FormField field1; @Embedded FormField field2; ...etc } (No doubt for Twig you just substitute @Embed for Objectify's

Re: [appengine-java] Best way to work with a CellTable and many-to-one relationship with objectify?

2011-07-05 Thread Jeff Schnitzer
That's what I tend to do. Since I write consumer apps, passing my raw entities across the wire usually isn't an option in the first place - there's usually too much security-sensitive stuff, or at the very least data I would rather not disclose to a potential attacker. Also... using entities

Re: [google-appengine] Re: Updated App Engine Pricing FAQ!

2011-07-05 Thread Jeff Schnitzer
On Fri, Jul 1, 2011 at 10:16 AM, Sergey Schetinin ser...@maluke.com wrote: On 29 June 2011 07:57, Ronoaldo Pereira ronoa...@gmail.com wrote: Also, on a spike in traffic today I got 70 instances up and running for around 30 minutes (Java app without threading yet...). This gives around 70

Re: [google-appengine] Got to love Google Bot

2011-07-05 Thread Jeff Schnitzer
This is utterly fascinating. Does anyone have any idea why Googlebot would try this? (also - are you sure this isn't something nefarious masquerading as Googlebot?) Jeff On Tue, Jul 5, 2011 at 1:45 PM, Brandon Wirtz drak...@digerat.com wrote: User Visits a page that doesn’t have any links

Re: [google-appengine] Why does Google App Engine Discriminate against Chinese people?

2011-07-05 Thread Jeff Schnitzer
The Chinese government and all the rest of the internet have a strange relationship. Jeff On Tue, Jul 5, 2011 at 1:51 PM, milosh zorica miloshzor...@gmail.com wrote: google and china got a strange relationship ;) On Tue, Jul 5, 2011 at 5:42 PM, Visame kank...@gmail.com wrote: AFAIK, Google

Re: [google-appengine] Re: Updated App Engine Pricing FAQ!

2011-06-29 Thread Jeff Schnitzer
On Tue, Jun 28, 2011 at 8:34 PM, vivpuri v...@vivekpuri.com wrote: Thank you for the response. I am not really confused about anything. Everyone has different set of experiences and resulting opinions. Facebook was built on PHP, and definitely started from $5 PHP/MySQL. I understand that you

Re: [google-appengine] Re: Updated App Engine Pricing FAQ!

2011-06-29 Thread Jeff Schnitzer
On Wed, Jun 29, 2011 at 5:50 AM, vivpuri v...@vivekpuri.com wrote: I understand that you are upset that your appengine bill might go up 4X, but how do you jump from this to the conclusion that Google should support PHP?? Every application development platform needs developers. iOS, AWS,

Re: [google-appengine] Re: Updated App Engine Pricing FAQ!

2011-06-29 Thread Jeff Schnitzer
On Wed, Jun 29, 2011 at 11:14 AM, vivpuri v...@vivekpuri.com wrote: @Jeff i dont you have the development experience on AppEngine to even take part on this discussion. Before suggesting, first go an check what Quercus does and can enable you to do on AppEngine. This is the stupidest thing

Re: [appengine-java] Best way to work with a CellTable and many-to-one relationship with objectify?

2011-06-28 Thread Jeff Schnitzer
To be honest, whenever I start to have a less-than-perfect match between my entities and the content rendered in my client, I usually create DTOs. It's mildly annoying, but it results in a clean interface without a lot of extra payload (some of which might be security-sensitive) sent across the

Re: [google-appengine] Migrating to HRD from Master/Slave

2011-06-26 Thread Jeff Schnitzer
One other issue seems to be that the bulk down/uploader doesn't have access to the indexed state of individual properties (there is no API to obtain this information). So you might get the right data structure on restore, but all the wrong indexes (typically none or all). The only way around

Re: [google-appengine] Updated App Engine Pricing FAQ!

2011-06-25 Thread Jeff Schnitzer
On Fri, Jun 24, 2011 at 11:43 PM, Vinuth Madinur vinuth.madi...@gmail.comwrote: I guess the differences are as follows: 1. With instance hours the focus is not on optimizing RAM consumption at all, but on reducing latency (increasing RAM consumption, reducing costs) and controlling when

Re: [google-appengine] Updated App Engine Pricing FAQ!

2011-06-25 Thread Jeff Schnitzer
On Sat, Jun 25, 2011 at 3:26 PM, Alfred Fuller arfuller+appeng...@google.com wrote: This makes sense, and encourages more use of memcache. to hold entities. One question that I've been wondering a while - presuming no caching, does this query-keys+batch-get approach produce higher latency

Re: [google-appengine] Updated App Engine Pricing FAQ!

2011-06-24 Thread Jeff Schnitzer
Thanks, this clarifies much! Questions below: On Thu, Jun 23, 2011 at 11:49 PM, Gregory D'alesandre gr...@google.comwrote: Datastore APIs Q: Which operations are being charged for? A: There are 3 categories of Datastore operations: - Write operations (Entity Put, Entity Delete, Index Write),

Re: [google-appengine] Re: #appengine irc chat transcript 2011-06-15

2011-06-23 Thread Jeff Schnitzer
...not to mention the fact that PHP tends to attract, well, let's generously call them amateurs. Read Facebook's forums sometime if you want to see what I mean. It would be the end of this mailing list. There's also an economic argument against PHP. Google offers a free tier so that you can

Re: [google-appengine] Re: #appengine irc chat transcript 2011-06-15

2011-06-23 Thread Jeff Schnitzer
2011/6/23 László Fazekas thebo...@gmail.com (if AppEngine supports the Quercus way). AFAIK, nothing prevents you from running Quercus on GAE today. Jeff -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email

Re: [google-appengine] #appengine irc chat transcript 2011-06-15

2011-06-20 Thread Jeff Schnitzer
IMNSHO, the issue with a JS runtime for GAE is not the language but having a purely async API to all of GAE's services. Node.js wouldn't work unless you can fire off hundreds of async requests and get callbacks... but right now, at least at the level of the documented API, you can only fire off

Re: [appengine-java] Why the 10 second URL fetch limit?

2011-06-17 Thread Jeff Schnitzer
The problem with using the Channel API this way is not quota usage, it's the rather significant amount of work required on the client server to make this work. Making an ajax call from client javascript is trivial. Making an ajax call PLUS setting up, tearing down, and processing messages from

Re: [google-appengine] Re: NSFW content and other program policies

2011-06-17 Thread Jeff Schnitzer
If you seriously want to invest considerable time, effort, and expense in developing an NSFW website, I suggest you read my comments in this earlier thread: http://groups.google.com/group/google-appengine/msg/22f7ac8079f0230d http://groups.google.com/group/google-appengine/msg/144ffc97fae3f181

Re: [appengine-java] How to design an in-memory cache?

2011-06-15 Thread Jeff Schnitzer
Sounds like you could just keep it around for 30 minutes or an hour, refreshing it after it expires. What would be nice is to be able to perform the refresh asynchronously. Say it takes 5s to build a piece of data that every appserver uses for practically every request. Instead of relying on

Re: [appengine-java] Re: When to use a String as ID? (using Objectify and GWT)

2011-06-15 Thread Jeff Schnitzer
One case is when you need to save several different entities that all reference each other. Let's say A has a reference to B, and B has a reference to A. If you relied on key autogeneration you would need 3 puts: * Put A (which initializes the id) * Set B.a to the id of A, put B * Set A.b to

Re: [google-appengine] Very expensive write operation

2011-06-15 Thread Jeff Schnitzer
You are probably indexing all of the properties (this is default behavior). Indexes are expensive to create and consume a large amount of storage as well. The solution is simply not to index what you don't need to query on. The mechanism to flag a property as unindexed varies with which GAE you

Re: [google-appengine] Cant verify my domain because i don't have a hosting plan

2011-06-12 Thread Jeff Schnitzer
Just thinking about this for a moment... wouldn't it be convenient if you could just use a couple of Google nameservers as your domain's authoritative nameservers with the result that *.yourdomain.com (and hey, also naked yourdomain.com) are automatically handled by Google Apps Appengine? I

Re: [google-appengine] Re: Slow......Slow........Slow......Very Slow........

2011-06-10 Thread Jeff Schnitzer
On Fri, Jun 10, 2011 at 9:26 AM, YF CAO caoyongfeng0...@gmail.com wrote: i not money..[?] 2011/6/11 YF CAO caoyongfeng0...@gmail.com OH ! My Lady Gaga ! Is this what happens when you accidentally use YouTube instead of Google Translate to compose your email? :-) Jeff -- You

Re: [appengine-java] Re: Is the native API really so much faster than JDO and slim3?

2011-06-09 Thread Jeff Schnitzer
On Thu, Jun 9, 2011 at 10:17 AM, Jeff Schnitzer j...@infohazard.org wrote: Thank you for fixing the benchmark. I am very curious.  According to this new benchmark - it's hard to tell without pushing the buttons a lot of times, but there seems to be a trend - Slim3 is somewhat faster than

Re: [appengine-java] Re: Is the native API really so much faster than JDO and slim3?

2011-06-09 Thread Jeff Schnitzer
://slim3demo.appspot.com/performance/ As a result, LL is as fast as slim3 (^^; Yasuo Higa On Thu, Jun 9, 2011 at 10:17 AM, Jeff Schnitzer j...@infohazard.org wrote: Thank you for fixing the benchmark. I am very curious.  According to this new benchmark - it's hard to tell without pushing

Re: [appengine-java] Re: Is the native API really so much faster than JDO and slim3?

2011-06-09 Thread Jeff Schnitzer
On Thu, Jun 9, 2011 at 1:32 AM, Gal Dolber gal.dol...@gmail.com wrote: I am not comparing reflexion vs byte-code generation or anything like that, apt generates code, is not a runtime technology. Like or not reflexion is known to be slower than actually writing the code. This is entirely

Re: [appengine-java] Re: Is the native API really so much faster than JDO and slim3?

2011-06-09 Thread Jeff Schnitzer
in the SDK and submit a patch. Jeff On Thu, Jun 9, 2011 at 5:16 AM, Jeff Schnitzer j...@infohazard.org wrote: Ok - so what you're saying is that the extra call to list.size() before iterating through the list makes list iteration faster?  Oddly enough, this does seem to make a difference

Re: [appengine-java] Re: Is the native API really so much faster than JDO and slim3?

2011-06-09 Thread Jeff Schnitzer
/Harry_Potter_and_the_Methods_of_Rationality Until Google makes a change, maybe the other frameworks should try the same trick? On Thu, Jun 9, 2011 at 8:31 AM, Jeff Schnitzer j...@infohazard.org wrote: On Thu, Jun 9, 2011 at 1:32 AM, Gal Dolber gal.dol...@gmail.com wrote: I am not comparing

Re: [google-appengine] Re: Is the native API really so much faster than JDO and slim3?

2011-06-09 Thread Jeff Schnitzer
It's still producing *wild* variance when I click those buttons. By a factor of 2. If you want an accurate benchmark: 1) You need more iterations. 5 is not enough. At a minimum I would say 10. If this is too long for a single button click, you can halve the # of entities fetched at once -

Re: [google-appengine] Re: Is the native API really so much faster than JDO and slim3?

2011-06-09 Thread Jeff Schnitzer
Interesting - in retrospect, of course it isn't realloc overhead. There would be at most 9 reallocs, and there's no way that could take hundreds of milliseconds. I'm not sure that this optimization of Python will be as effective in Javaland. The pattern of fetching is totally different in Python

Re: [google-appengine] Re: Is the native API really so much faster than JDO and slim3?

2011-06-09 Thread Jeff Schnitzer
On Thu, Jun 9, 2011 at 3:30 PM, Alfred Fuller arfuller+appeng...@google.com wrote: Funny because we actually don't have this feature in python (only iterators async prefetch). Ya, I would hope coders would use asIterable() when doing a single for loop. The real win for asList() async prefetch

Re: [appengine-java] Re: R: Re: New GWT/App Engine site

2011-06-08 Thread Jeff Schnitzer
On Tue, Jun 7, 2011 at 11:07 PM, Giorgio Riccardi giorgio...@gmail.com wrote: Hi Jeff, 1) Polishing the navigation, as you said, it kind thought with GWT, but I absolutely agree with you that it needs to be improved... already some changes have been done, but going back at the same position

Re: [appengine-java] Request was aborted after waiting too long to attempt to service your request.

2011-06-08 Thread Jeff Schnitzer
the most confusing ... Ikai Lan Developer Programs Engineer, Google App Engine Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine On Wed, Jun 8, 2011 at 1:50 PM, Jeff Schnitzer j...@infohazard.org wrote

Re: [appengine-java] Re: Is the native API really so much faster than JDO and slim3?

2011-06-08 Thread Jeff Schnitzer
You are wrong. Try adding getProperty() calls to your LL performance test, and the speed advantage of the LL API goes away. I don't know what to say about Slim3, but here's my test case: http://code.google.com/p/scratchmonkey/source/browse/#svn%2Fappengine%2Fperformance-test I created 10,000

Re: [appengine-java] Does AppEngine support Servlet 3.0 ServletContainerInitializer

2011-06-08 Thread Jeff Schnitzer
Unfortunately GAE does not support Servlet 3.0. Please star: http://code.google.com/p/googleappengine/issues/detail?id=3091 Jeff On Wed, Jun 8, 2011 at 11:45 AM, Marcel Overdijk marceloverd...@gmail.com wrote: Does AppEngine support Servlet 3.0 ServletContainerInitializer for code-based

Re: [appengine-java] Re: Is the native API really so much faster than JDO and slim3?

2011-06-08 Thread Jeff Schnitzer
, Gal Dolber gal.dol...@gmail.com wrote: Slim3 is not only fast, the api is completely awesome. It has been my choice for a year now for all gae projects. It includes name safety and and amazing querying utils. Very recommendable! On Wed, Jun 8, 2011 at 3:41 PM, Jeff Schnitzer j...@infohazard.org

Re: [appengine-java] Re: Is the native API really so much faster than JDO and slim3?

2011-06-08 Thread Jeff Schnitzer
On Wed, Jun 8, 2011 at 4:26 PM, Gal Dolber gal.dol...@gmail.com wrote: Slim3 is indeed faster than any other because of the simple fact that it uses apt(code generation) instead of reflexion, the generated code it's almost the same that you'll write by-hand to wrap the low-level api. I'm

Re: [appengine-java] Re: Is the native API really so much faster than JDO and slim3?

2011-06-08 Thread Jeff Schnitzer
(); } LL API is much slower than before. http://slim3demo.appspot.com/performance/ Yasuo Higa On Thu, Jun 9, 2011 at 7:45 AM, Jeff Schnitzer j...@infohazard.org wrote: Slim3 may be a nice piece of software, but it has not been demonstrated to be faster than anything (including JDO).  It might

Re: [google-appengine] Re: Register Article on GAE

2011-06-08 Thread Jeff Schnitzer
Hold on, let me check... Reply hazy, try again. Damn. Jeff On Tue, Jun 7, 2011 at 11:17 PM, Robert Kluin robert.kl...@gmail.com wrote: Jeff's are you psychic?  ;) On Wed, Jun 8, 2011 at 01:52, Cade Metz cm...@theregister.co.uk wrote: I am, Cade On Jun 7, 2011 10:39 PM, Jeff

Re: [google-appengine] Re: Register Article on GAE

2011-06-08 Thread Jeff Schnitzer
of codes with the 6 lines you need for MSSQL when you move to Azure, or the 8 lines for LAMP, -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Jeff Schnitzer Sent: Tuesday, June 07, 2011 10:39 PM To: google-appengine

Re: [google-appengine] Re: Register Article on GAE

2011-06-08 Thread Jeff Schnitzer
Speaking of Google's reputation and mystique, seems to me the article we should all be talking about is this one: http://rethrick.com/#waving-goodbye Thoughts? Jeff -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group,

Re: [google-appengine] Re: Is the native API really so much faster than JDO and slim3?

2011-06-08 Thread Jeff Schnitzer
H. I just whipped up a test app that uses a mock AsyncDatastoreService to provide a set of 10,000 Entity objects to Objectify, thus purely measuring the overhead of Objectify. It consistently transforms 10,000 entities into POJOs (just long id, String value) in 100ms on both my laptop and on

Re: [google-appengine] Re: Is the native API really so much faster than JDO and slim3?

2011-06-08 Thread Jeff Schnitzer
() method. When you iterate the result set and include an Entity.getProperty() call, Objectify's 100ms overhead fades into the natural (+/- 500ms) variance. Sloppy work. Jeff On Wed, Jun 8, 2011 at 1:44 AM, Jeff Schnitzer j...@infohazard.org wrote: H.  I just whipped up a test app that uses

Re: [appengine-java] Request was aborted after waiting too long to attempt to service your request.

2011-06-07 Thread Jeff Schnitzer
Is this documented anywhere? It's something I figured out from occasional comments I've seen on this list over the years, but I've never seen it mentioned in the official documentation. And it's kinda important. In particular, I'd like to know what the bounds are for threaded java, and how the

Re: [google-appengine] Re: Is the native API really so much faster than JDO and slim3?

2011-06-07 Thread Jeff Schnitzer
Have you actually run a profiler against datanucleus? There are a million reasons why a piece of software might be slow. Considering the large number of logical operations involved in translating an Entity into a POJO, I doubt very much the issue is that a couple calls are via reflection. It's

Re: [google-appengine] Re: Register Article on GAE

2011-06-07 Thread Jeff Schnitzer
I assume he found my name on this group, but I didn't ask. Presumably he's reading this thread :-) He seemed like a nice guy. I thought the article was pretty good, and casts GAE in a favorable light. Bringing up MongoDB and HBase makes sense; along with GAE these are the three horsemen of the

Re: [appengine-java] Re: When to use a String as ID? (using Objectify and GWT)

2011-06-06 Thread Jeff Schnitzer
I just let the datastore do it. I like having Long ids: * Longs always stick out in code as an id - ie in a constructor with 15 things, it sucks when they are all Strings. I often wish Java supported C-style typedefs (or just allowed subclassing basic types). * Long keys are more

Re: [appengine-java] Multi-homing support

2011-06-04 Thread Jeff Schnitzer
down all the apps. And, obviously, python apps can not be multiplexed with java apps and vice versa. On Sun, Jun 5, 2011 at 4:24 AM, Jeff Schnitzer j...@infohazard.org wrote: Please star this issue: http://code.google.com/p/googleappengine/issues/detail?id=2878 This is a huge blocking issue

Re: [google-appengine] Noob needs sage advice

2011-06-03 Thread Jeff Schnitzer
Heh, I remember this experience well. GWT has a steep learning curve. If you have a sophisticated UI, it is totally worth it - but prepare for a struggle to achieve proficiency. Writing GWT apps is much more like writing Swing/MFC/etc fat client apps than it is like writing traditional web apps.

Re: [appengine-java] When to use a String as ID? (using Objectify and GWT)

2011-06-02 Thread Jeff Schnitzer
This is the classic synthetic key vs natural key debate, and the general consensus is that synthetic keys are almost always the way to go. For exactly the reasons you describe. Yup, I think you answered your own question :-) Jeff On Thu, Jun 2, 2011 at 4:21 AM, Drew Spencer

Re: [google-appengine] Re: Physical server location

2011-06-02 Thread Jeff Schnitzer
On Thu, Jun 2, 2011 at 8:52 AM, Jonathan Chen tamasia...@gmail.com wrote: Isn't it prudent to say that GAE will do all the loadbalancing for you when they have more datacenters overseas? I wouldn't count on this happening anytime soon. It would be difficult to maintain application performance

Re: [google-appengine] Pricing Model Suggestion

2011-06-01 Thread Jeff Schnitzer
By new architecture I refer to the threadedtrue/threaded feature that recently became available for Java, and work on a future multithreaded version of GAE/Python. Jeff On Wed, Jun 1, 2011 at 1:35 AM, Francois Masurel f.masu...@gmail.com wrote: Hi Jeff, Do you have more to say about that new

Re: [google-appengine] Re: Pricing Model Suggestion

2011-06-01 Thread Jeff Schnitzer
This is one of the frustrating things about the new pricing model. The incentives are all wrong. I don't think Google will deliberately try to overcharge us, but in the long run organizations follow incentives - and they no longer have a direct incentive to maximize the efficiency of each

Re: [appengine-java] R: Re: New GWT/App Engine site

2011-05-31 Thread Jeff Schnitzer
Nice looking site... just on casual perusal, two things jumped out at me: 1) Polish the navigation a bit more. For example, you zoom into the map, click on a trail, click through to the trail's page, then hit the browser back button (seems to be the only way to get back) - and you're now zoomed

Re: [google-appengine] Aw: Rudimentary New Pricing Analysis

2011-05-31 Thread Jeff Schnitzer
Some thoughts on your comments: I don't think the amount of RAM supplied to a frontend instance is particularly relevant - in most web architectures, frontend instances just shuttle data back and forth between the user and backend data services (datastore, memcache, facebook, etc). So it's

Re: [google-appengine] Aw: Rudimentary New Pricing Analysis

2011-05-31 Thread Jeff Schnitzer
These are all very relevant points for application design, but don't particularly impact the proposed pricing changes... these are the same limitations we have to live with today. FWIW, Similarity does frequently load 50+ entities at a time (say, one set of match results) each of which is a hefty

Re: [google-appengine] Pricing Model Suggestion

2011-05-31 Thread Jeff Schnitzer
This would be the absolute worst of all worlds. In this model, a single-threaded java application would be charged the same as a multithreaded java application, even though the single-threaded system requires 20X more RAM to serve the same # of requests. Wall-clock time is only an accurate

<    5   6   7   8   9   10   11   12   13   14   >